This is an automated email from the ASF dual-hosted git repository.
dingyu pushed a commit to branch v1.1.1-testing
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave-sgx-sdk.git
The following commit(s) were added to refs/heads/v1.1.1-testing by this push:
new b2868e0 Update Readme. Add 16.04 dockerfile.
b2868e0 is described below
commit b2868e055d6094db6373fbe7a1c7c428a7f3406e
Author: Yu Ding <[email protected]>
AuthorDate: Fri Mar 20 14:15:47 2020 -0700
Update Readme. Add 16.04 dockerfile.
---
Readme.md | 7 +-
dockerfile/Dockerfile.1604.nightly | 340 ++++++++++++++++++++++++++++-----
dockerfile/Dockerfile.1804.nightly | 71 +++----
dockerfile/Dockerfile.2004.nightly | 72 +++++++
dockerfile/Dockerfile.centos7.nightly | 48 -----
dockerfile/Dockerfile.fedora27.nightly | 48 -----
6 files changed, 408 insertions(+), 178 deletions(-)
diff --git a/Readme.md b/Readme.md
index 78cd45c..c4fa73b 100644
--- a/Readme.md
+++ b/Readme.md
@@ -53,7 +53,12 @@ Supports Intel SGX SDK v2.5. Master branch supports Rust
nightly build (nightly-
We changed the built-in EDL files. Please carefully upgrade your EDL files on
`import` statements. If you encountered any problems during compilation, please
create issue and let me know. Thanks!
-**ATTENTION**: (Ubuntu Channel) Starts from Intel SGX SDK 2.5, `aesmd`
requires a environment variable to start. If you are using docker, please start
`aesmd` as:
+**ATTENTION**: (Ubuntu Channel) Starts from Intel SGX SDK 2.8, `aesmd`
requires a environment variable to start. If you are using docker, please start
`aesmd` as:
+```
+LD_LIBRARY_PATH=/opt/intel/sgx-aesm-service/aesm
/opt/intel/sgx-aesm-service/aesm/aesm_service
+```
+
+Starts from Intel SGX SDK 2.5, `aesmd` requires a environment variable to
start. If you are using docker, please start `aesmd` as:
```
LD_LIBRARY_PATH=/opt/intel/libsgx-enclave-common/aesm
/opt/intel/libsgx-enclave-common/aesm/aesm_service
```
diff --git a/dockerfile/Dockerfile.1604.nightly
b/dockerfile/Dockerfile.1604.nightly
index 337ba52..39ef6bf 100644
--- a/dockerfile/Dockerfile.1604.nightly
+++ b/dockerfile/Dockerfile.1604.nightly
@@ -1,63 +1,307 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License..
+FROM ubuntu:16.04
+# First, Debian buster-curl
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ ca-certificates \
+ curl \
+ netbase \
+ wget \
+ && rm -rf /var/lib/apt/lists/*
-FROM ubuntu:16.04
-MAINTAINER Yu Ding
+RUN set -ex; \
+ if ! command -v gpg > /dev/null; then \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ gnupg \
+ dirmngr \
+ ; \
+ rm -rf /var/lib/apt/lists/*; \
+ fi
-ENV sdk_bin
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu16.04-server/sgx_linux_x64_sdk_2.7.101.3.bin
-ENV psw_deb
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu16.04-server/libsgx-enclave-common_2.7.101.3-xenial1_amd64.deb
-ENV psw_dev_deb
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu16.04-server/libsgx-enclave-common-dev_2.7.101.3-xenial1_amd64.deb
-ENV rust_toolchain nightly-2019-11-25
+# Second, Debian buster-scm
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ git \
+ mercurial \
+ openssh-client \
+ subversion \
+ \
+ procps \
+ && rm -rf /var/lib/apt/lists/*
-RUN apt-get update && \
- apt-get install -y build-essential ocaml automake autoconf libtool wget
python libssl-dev libcurl4-openssl-dev protobuf-compiler libprotobuf-dev sudo
kmod vim curl git-core libprotobuf-c0-dev libboost-thread-dev
libboost-system-dev liblog4cpp5-dev libjsoncpp-dev alien uuid-dev libxml2-dev
cmake pkg-config expect gdb && \
- rm -rf /var/lib/apt/lists/* && \
+# Third, Debian Buster
+
+RUN set -ex; \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ autoconf \
+ automake \
+ bzip2 \
+ dpkg-dev \
+ file \
+ g++ \
+ gcc \
+ imagemagick \
+ libbz2-dev \
+ libc6-dev \
+ libcurl4-openssl-dev \
+ libdb-dev \
+ libevent-dev \
+ libffi-dev \
+ libgdbm-dev \
+ libglib2.0-dev \
+ libgmp-dev \
+ libjpeg-dev \
+ libkrb5-dev \
+ liblzma-dev \
+ libmagickcore-dev \
+ libmagickwand-dev \
+ libmaxminddb-dev \
+ libncurses5-dev \
+ libncursesw5-dev \
+ libpng-dev \
+ libpq-dev \
+ libreadline-dev \
+ libsqlite3-dev \
+ libssl-dev \
+ libtool \
+ libwebp-dev \
+ libxml2-dev \
+ libxslt-dev \
+ libyaml-dev \
+ make \
+ patch \
+ unzip \
+ xz-utils \
+ zlib1g-dev \
+ \
+# https://lists.debian.org/debian-devel-announce/2016/09/msg00000.html
+ $( \
+# if we use just "apt-cache show" here, it returns zero because "Can't select
versions from package 'libmysqlclient-dev' as it is purely virtual", hence the
pipe to grep
+ if apt-cache show 'default-libmysqlclient-dev'
2>/dev/null | grep -q '^Version:'; then \
+ echo 'default-libmysqlclient-dev'; \
+ else \
+ echo 'libmysqlclient-dev'; \
+ fi \
+ ) \
+ ; \
+ rm -rf /var/lib/apt/lists/*
+
+# gcc
+RUN set -ex; \
+ if ! command -v gpg > /dev/null; then \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ gnupg \
+ dirmngr \
+ ; \
+ rm -rf /var/lib/apt/lists/*; \
+ fi
+
+# https://gcc.gnu.org/mirrors.html
+ENV GPG_KEYS \
+# 1024D/745C015A 1999-11-09 Gerald Pfeifer <[email protected]>
+ B215C1633BCA0477615F1B35A5B3A004745C015A \
+# 1024D/B75C61B8 2003-04-10 Mark Mitchell <[email protected]>
+ B3C42148A44E6983B3E4CC0793FA9B1AB75C61B8 \
+# 1024D/902C9419 2004-12-06 Gabriel Dos Reis <[email protected]>
+ 90AA470469D3965A87A5DCB494D03953902C9419 \
+# 1024D/F71EDF1C 2000-02-13 Joseph Samuel Myers <[email protected]>
+ 80F98B2E0DAB6C8281BDF541A7C8C3B2F71EDF1C \
+# 2048R/FC26A641 2005-09-13 Richard Guenther <[email protected]>
+ 7F74F97C103468EE5D750B583AB00996FC26A641 \
+# 1024D/C3C45C06 2004-04-21 Jakub Jelinek <[email protected]>
+ 33C235A34C46AA3FFB293709A328C3A2C3C45C06
+RUN set -ex; \
+ for key in $GPG_KEYS; do \
+ gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys
"$key"; \
+ done
+
+# https://gcc.gnu.org/mirrors.html
+ENV GCC_MIRRORS \
+ https://ftpmirror.gnu.org/gcc \
+ https://bigsearcher.com/mirrors/gcc/releases \
+ https://mirrors-usa.go-parts.com/gcc/releases \
+ https://mirrors.concertpass.com/gcc/releases \
+ http://www.netgull.com/gcc/releases
+
+# Last Modified: 2020-03-04
+ENV GCC_VERSION 8.4.0
+# Docker EOL: 2021-09-04
+
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ dpkg-dev \
+ flex \
+ ; \
+ rm -r /var/lib/apt/lists/*; \
+ \
+ _fetch() { \
+ local fetch="$1"; shift; \
+ local file="$1"; shift; \
+ for mirror in $GCC_MIRRORS; do \
+ if curl -fL "$mirror/$fetch" -o "$file"; then \
+ return 0; \
+ fi; \
+ done; \
+ echo >&2 "error: failed to download '$fetch' from several
mirrors"; \
+ return 1; \
+ }; \
+ \
+ _fetch "gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.xz.sig" 'gcc.tar.xz.sig' \
+# 6.5.0 (https://mirrors.kernel.org/gnu/gcc/6.5.0/), no gcc- prefix
+ || _fetch "$GCC_VERSION/gcc-$GCC_VERSION.tar.xz.sig"; \
+ _fetch "gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.xz" 'gcc.tar.xz' \
+ || _fetch "$GCC_VERSION/gcc-$GCC_VERSION.tar.xz" 'gcc.tar.xz'; \
+ gpg --batch --verify gcc.tar.xz.sig gcc.tar.xz; \
+ mkdir -p /usr/src/gcc; \
+ tar -xf gcc.tar.xz -C /usr/src/gcc --strip-components=1; \
+ rm gcc.tar.xz*; \
+ \
+ cd /usr/src/gcc; \
+ \
+# "download_prerequisites" pulls down a bunch of tarballs and extracts them,
+# but then leaves the tarballs themselves lying around
+ ./contrib/download_prerequisites; \
+ { rm *.tar.* || true; }; \
+ \
+# explicitly update autoconf config.guess and config.sub so they support more
arches/libcs
+ for f in config.guess config.sub; do \
+ wget -O "$f"
"https://git.savannah.gnu.org/cgit/config.git/plain/$f?id=7d3d27baf8107b630586c962c057e22149653deb";
\
+# find any more (shallow) copies of the file we grabbed and update them too
+ find -mindepth 2 -name "$f" -exec cp -v "$f" '{}' ';'; \
+ done; \
+ \
+ dir="$(mktemp -d)"; \
+ cd "$dir"; \
+ \
+ extraConfigureArgs=''; \
+ dpkgArch="$(dpkg --print-architecture)"; \
+ case "$dpkgArch" in \
+# with-arch:
https://anonscm.debian.org/viewvc/gcccvs/branches/sid/gcc-6/debian/rules2?revision=9450&view=markup#l491
+# with-float:
https://anonscm.debian.org/viewvc/gcccvs/branches/sid/gcc-6/debian/rules.defs?revision=9487&view=markup#l416
+# with-mode:
https://anonscm.debian.org/viewvc/gcccvs/branches/sid/gcc-6/debian/rules.defs?revision=9487&view=markup#l376
+ armel) \
+ extraConfigureArgs="$extraConfigureArgs
--with-arch=armv4t --with-float=soft" \
+ ;; \
+ armhf) \
+ extraConfigureArgs="$extraConfigureArgs
--with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb" \
+ ;; \
+ \
+# with-arch-32:
https://anonscm.debian.org/viewvc/gcccvs/branches/sid/gcc-6/debian/rules2?revision=9450&view=markup#l590
+ i386) \
+ osVersionID="$(set -e; . /etc/os-release; echo
"$VERSION_ID")"; \
+ case "$osVersionID" in \
+ 8) extraConfigureArgs="$extraConfigureArgs
--with-arch-32=i586" ;; \
+ *) extraConfigureArgs="$extraConfigureArgs
--with-arch-32=i686" ;; \
+ esac; \
+# TODO for some reason, libgo + i386 fails on
https://github.com/gcc-mirror/gcc/blob/gcc-7_1_0-release/libgo/runtime/proc.c#L154
+# "error unknown case for SETCONTEXT_CLOBBERS_TLS"
+ ;; \
+ esac; \
+ \
+ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
+ /usr/src/gcc/configure \
+ --build="$gnuArch" \
+ --disable-multilib \
+ --enable-languages=c,c++,fortran,go \
+ $extraConfigureArgs \
+ ; \
+ make -j "$(nproc)"; \
+ make install-strip; \
+ \
+ cd ..; \
+ \
+ rm -rf "$dir" /usr/src/gcc; \
+ \
+ apt-mark auto '.*' > /dev/null; \
+ [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
+ apt-get purge -y --auto-remove -o
APT::AutoRemove::RecommendsImportant=false
+
+# gcc installs .so files in /usr/local/lib64...
+RUN set -ex; \
+ echo '/usr/local/lib64' > /etc/ld.so.conf.d/local-lib64.conf; \
+ ldconfig -v
+
+# ensure that alternatives are pointing to the new compiler and that old one
is no longer used
+RUN set -ex; \
+ dpkg-divert --divert /usr/bin/gcc.orig --rename /usr/bin/gcc; \
+ dpkg-divert --divert /usr/bin/g++.orig --rename /usr/bin/g++; \
+ dpkg-divert --divert /usr/bin/gfortran.orig --rename /usr/bin/gfortran;
\
+ update-alternatives --install /usr/bin/cc cc /usr/local/bin/gcc 999
+
+# Fourth, gnu binutils
+
+RUN cd /root && \
+ apt-get update && apt-get install -y bison texinfo && \
+ git clone git://sourceware.org/git/binutils-gdb.git --branch
binutils-2_34-branch && \
+ cd binutils-gdb && \
+ mkdir build && \
+ cd build && \
+ ../configure --prefix=/usr --enable-gold --enable-ld=default
--enable-plugins --enable-shared --disable-werror --enable-64-bit-bfd
--with-system-zlib && \
+ make -j "$(nproc)" && \
+ make install && \
+ cd /root && \
+ rm -rf binutils-gdb && \
+ rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/apt/archives/*
+# Fifth, Intel SDK with LVI mitigation
-# Uncomment the following lines for setup iCls
-# Make sure you have put the installer file in this directory with filename
iclsClient-1.45.449.12-1.x86_64.rpm
-#RUN mkdir /root/icls
-#ADD iclsClient-1.45.449.12-1.x86_64.rpm /root/icls/
-#RUN cd /root/icls && alien --scripts iclsClient-1.45.449.12-1.x86_64.rpm &&
dpkg -i iclsclient_1.45.449.12-2_amd64.deb && ldconfig && \
-# cd /tmp && \
-# git clone
https://github.com/01org/dynamic-application-loader-host-interface.git jhi && \
-# cd jhi && mkdir build && cd build && cmake .. && make && make install && \
-# systemctl enable jhi
-
-RUN mkdir /root/sgx && \
- wget -O /root/sgx/psw.deb ${psw_deb} && \
- wget -O /root/sgx/psw_dev.deb ${psw_dev_deb} && \
- wget -O /root/sgx/sdk.bin ${sdk_bin} && \
- cd /root/sgx && \
- dpkg -i /root/sgx/psw.deb && \
- dpkg -i /root/sgx/psw_dev.deb && \
- chmod +x /root/sgx/sdk.bin && \
- echo -e 'no\n/opt' | /root/sgx/sdk.bin && \
+RUN apt-get install -y cmake ocaml && \
+ git clone --recursive https://github.com/intel/linux-sgx && \
+ cd linux-sgx && \
+ git checkout sgx_2.9 && \
+ ./download_prebuilt.sh && \
+ make -j "$(nproc)" sdk_install_pkg && \
+ echo -e 'no\n/opt' | ./linux/installer/bin/sgx_linux_x64_sdk_2.9.100.2.bin
&& \
echo 'source /opt/sgxsdk/environment' >> /root/.bashrc && \
- rm -rf /root/sgx/*
+ cd /root && \
+ rm -rf /root/linux-sgx && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /var/cache/apt/archives/*
+
+# Sixth, PSW
+
+ENV VERSION 2.9.100.2-bionic1
+
+RUN apt-get install -y dkms gnupg2 apt-transport-https ca-certificates
software-properties-common && \
+ curl -fsSL
https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key
add - && \
+ add-apt-repository "deb https://download.01.org/intel-sgx/sgx_repo/ubuntu
xenial main" && \
+ apt-get update && \
+ apt-get install -y \
+ libsgx-aesm-launch-plugin=$VERSION \
+ libsgx-enclave-common=$VERSION \
+ libsgx-enclave-common-dbgsym=$VERSION \
+ libsgx-enclave-common-dev=$VERSION \
+ libsgx-epid=$VERSION \
+ libsgx-epid-dbgsym=$VERSION \
+ libsgx-epid-dev=$VERSION \
+ libsgx-launch=$VERSION \
+ libsgx-launch-dbgsym=$VERSION \
+ libsgx-launch-dev=$VERSION \
+ libsgx-quote-ex=$VERSION \
+ libsgx-quote-ex-dbgsym=$VERSION \
+ libsgx-quote-ex-dev=$VERSION \
+ libsgx-uae-service=$VERSION \
+ libsgx-uae-service-dbgsym=$VERSION \
+ libsgx-urts=$VERSION \
+ libsgx-urts-dbgsym=$VERSION && \
+ mkdir /var/run/aesmd && \
+ mkdir /etc/init && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /var/cache/apt/archives/*
+
+# Seventh, Rust
+ENV rust_toolchain nightly-2020-03-12
-RUN wget
'https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init'
-O /root/rustup-init && \
+RUN curl
'https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init'
--output /root/rustup-init && \
chmod +x /root/rustup-init && \
echo '1' | /root/rustup-init --default-toolchain ${rust_toolchain} && \
echo 'source /root/.cargo/env' >> /root/.bashrc && \
/root/.cargo/bin/rustup component add rust-src rls rust-analysis clippy
rustfmt && \
/root/.cargo/bin/cargo install xargo && \
- rm -rf /root/.cargo/registry && rm -rf /root/.cargo/git
-WORKDIR /root
+ rm /root/rustup-init && rm -rf /root/.cargo/registry && rm -rf
/root/.cargo/git
diff --git a/dockerfile/Dockerfile.1804.nightly
b/dockerfile/Dockerfile.1804.nightly
index 7e9e12e..e3dc98a 100644
--- a/dockerfile/Dockerfile.1804.nightly
+++ b/dockerfile/Dockerfile.1804.nightly
@@ -19,49 +19,54 @@
FROM ubuntu:18.04
MAINTAINER Yu Ding
-ENV sdk_bin
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu18.04-server/sgx_linux_x64_sdk_2.7.101.3.bin
-ENV psw_deb
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu18.04-server/libsgx-enclave-common_2.7.101.3-bionic1_amd64.deb
-ENV psw_dev_deb
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu18.04-server/libsgx-enclave-common-dev_2.7.101.3-bionic1_amd64.deb
-ENV psw_dbgsym_deb
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu18.04-server/libsgx-enclave-common-dbgsym_2.7.101.3-bionic1_amd64.ddeb
-ENV rust_toolchain nightly-2019-11-25
ENV DEBIAN_FRONTEND=noninteractive
+ENV VERSION 2.9.100.2-bionic1
+ENV rust_toolchain nightly-2020-03-12
+ENV sdk_bin
https://download.01.org/intel-sgx/sgx-linux/2.9/distro/ubuntu18.04-server/sgx_linux_x64_sdk_2.9.100.2.bin
RUN apt-get update && \
- apt-get install -y build-essential ocaml ocamlbuild automake autoconf
libtool wget python libssl-dev libcurl4-openssl-dev protobuf-compiler
libprotobuf-dev sudo kmod vim curl git-core libprotobuf-c0-dev
libboost-thread-dev libboost-system-dev liblog4cpp5-dev libjsoncpp-dev alien
uuid-dev libxml2-dev cmake pkg-config expect systemd-sysv gdb && \
+ apt-get install -y gnupg2 apt-transport-https ca-certificates curl
software-properties-common build-essential automake autoconf libtool
protobuf-compiler libprotobuf-dev git-core libprotobuf-c0-dev cmake pkg-config
expect gdb && \
+ curl -fsSL
https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key
add - && \
+ add-apt-repository "deb https://download.01.org/intel-sgx/sgx_repo/ubuntu
bionic main" && \
+ apt-get update && \
+ apt-get install -y \
+ libsgx-aesm-launch-plugin=$VERSION \
+ libsgx-enclave-common=$VERSION \
+ libsgx-enclave-common-dbgsym=$VERSION \
+ libsgx-enclave-common-dev=$VERSION \
+ libsgx-epid=$VERSION \
+ libsgx-epid-dbgsym=$VERSION \
+ libsgx-epid-dev=$VERSION \
+ libsgx-launch=$VERSION \
+ libsgx-launch-dbgsym=$VERSION \
+ libsgx-launch-dev=$VERSION \
+ libsgx-quote-ex=$VERSION \
+ libsgx-quote-ex-dbgsym=$VERSION \
+ libsgx-quote-ex-dev=$VERSION \
+ libsgx-uae-service=$VERSION \
+ libsgx-uae-service-dbgsym=$VERSION \
+ libsgx-urts=$VERSION \
+ libsgx-urts-dbgsym=$VERSION && \
rm -rf /var/lib/apt/lists/* && \
- rm -rf /var/cache/apt/archives/*
+ rm -rf /var/cache/apt/archives/* && \
+ mkdir /var/run/aesmd && \
+ mkdir /etc/init
-
-# Uncomment the following lines for setup iCls
-# Make sure you have put the installer file in this directory with filename
iclsClient-1.45.449.12-1.x86_64.rpm
-#RUN mkdir /root/icls
-#ADD iclsClient-1.45.449.12-1.x86_64.rpm /root/icls/
-#RUN cd /root/icls && alien --scripts iclsClient-1.45.449.12-1.x86_64.rpm &&
dpkg -i iclsclient_1.45.449.12-2_amd64.deb && ldconfig && \
-# cd /tmp && \
-# git clone
https://github.com/01org/dynamic-application-loader-host-interface.git jhi && \
-# cd jhi && mkdir build && cd build && cmake .. && make && make install && \
-# systemctl enable jhi
+RUN curl
'https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init'
--output /root/rustup-init && \
+ chmod +x /root/rustup-init && \
+ echo '1' | /root/rustup-init --default-toolchain ${rust_toolchain} && \
+ echo 'source /root/.cargo/env' >> /root/.bashrc && \
+ /root/.cargo/bin/rustup component add rust-src rls rust-analysis clippy
rustfmt && \
+ /root/.cargo/bin/cargo install xargo && \
+ rm /root/rustup-init && rm -rf /root/.cargo/registry && rm -rf
/root/.cargo/git
RUN mkdir /root/sgx && \
- mkdir /etc/init && \
- wget -O /root/sgx/psw.deb ${psw_deb} && \
- wget -O /root/sgx/psw_dev.deb ${psw_dev_deb} && \
- wget -O /root/sgx/psw_dbgsym.deb ${psw_dbgsym_deb} && \
- wget -O /root/sgx/sdk.bin ${sdk_bin} && \
+ curl --output /root/sgx/sdk.bin ${sdk_bin} && \
cd /root/sgx && \
- dpkg -i /root/sgx/psw.deb && \
- dpkg -i /root/sgx/psw_dev.deb && \
- dpkg -i /root/sgx/psw_dbgsym.deb && \
chmod +x /root/sgx/sdk.bin && \
echo -e 'no\n/opt' | /root/sgx/sdk.bin && \
echo 'source /opt/sgxsdk/environment' >> /root/.bashrc && \
- rm -rf /root/sgx/*
+ echo 'alias start-aesm="LD_LIBRARY_PATH=/opt/intel/sgx-aesm-service/aesm
/opt/intel/sgx-aesm-service/aesm/aesm_service"' >> /root/.bashrc && \
+ rm -rf /root/sgx*
-RUN wget
'https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init'
-O /root/rustup-init && \
- chmod +x /root/rustup-init && \
- echo '1' | /root/rustup-init --default-toolchain ${rust_toolchain} && \
- echo 'source /root/.cargo/env' >> /root/.bashrc && \
- /root/.cargo/bin/rustup component add rust-src rls rust-analysis clippy
rustfmt && \
- /root/.cargo/bin/cargo install xargo && \
- rm -rf /root/.cargo/registry && rm -rf /root/.cargo/git
WORKDIR /root
diff --git a/dockerfile/Dockerfile.2004.nightly
b/dockerfile/Dockerfile.2004.nightly
new file mode 100644
index 0000000..e3dc98a
--- /dev/null
+++ b/dockerfile/Dockerfile.2004.nightly
@@ -0,0 +1,72 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License..
+
+
+FROM ubuntu:18.04
+MAINTAINER Yu Ding
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV VERSION 2.9.100.2-bionic1
+ENV rust_toolchain nightly-2020-03-12
+ENV sdk_bin
https://download.01.org/intel-sgx/sgx-linux/2.9/distro/ubuntu18.04-server/sgx_linux_x64_sdk_2.9.100.2.bin
+
+RUN apt-get update && \
+ apt-get install -y gnupg2 apt-transport-https ca-certificates curl
software-properties-common build-essential automake autoconf libtool
protobuf-compiler libprotobuf-dev git-core libprotobuf-c0-dev cmake pkg-config
expect gdb && \
+ curl -fsSL
https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key
add - && \
+ add-apt-repository "deb https://download.01.org/intel-sgx/sgx_repo/ubuntu
bionic main" && \
+ apt-get update && \
+ apt-get install -y \
+ libsgx-aesm-launch-plugin=$VERSION \
+ libsgx-enclave-common=$VERSION \
+ libsgx-enclave-common-dbgsym=$VERSION \
+ libsgx-enclave-common-dev=$VERSION \
+ libsgx-epid=$VERSION \
+ libsgx-epid-dbgsym=$VERSION \
+ libsgx-epid-dev=$VERSION \
+ libsgx-launch=$VERSION \
+ libsgx-launch-dbgsym=$VERSION \
+ libsgx-launch-dev=$VERSION \
+ libsgx-quote-ex=$VERSION \
+ libsgx-quote-ex-dbgsym=$VERSION \
+ libsgx-quote-ex-dev=$VERSION \
+ libsgx-uae-service=$VERSION \
+ libsgx-uae-service-dbgsym=$VERSION \
+ libsgx-urts=$VERSION \
+ libsgx-urts-dbgsym=$VERSION && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /var/cache/apt/archives/* && \
+ mkdir /var/run/aesmd && \
+ mkdir /etc/init
+
+RUN curl
'https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init'
--output /root/rustup-init && \
+ chmod +x /root/rustup-init && \
+ echo '1' | /root/rustup-init --default-toolchain ${rust_toolchain} && \
+ echo 'source /root/.cargo/env' >> /root/.bashrc && \
+ /root/.cargo/bin/rustup component add rust-src rls rust-analysis clippy
rustfmt && \
+ /root/.cargo/bin/cargo install xargo && \
+ rm /root/rustup-init && rm -rf /root/.cargo/registry && rm -rf
/root/.cargo/git
+
+RUN mkdir /root/sgx && \
+ curl --output /root/sgx/sdk.bin ${sdk_bin} && \
+ cd /root/sgx && \
+ chmod +x /root/sgx/sdk.bin && \
+ echo -e 'no\n/opt' | /root/sgx/sdk.bin && \
+ echo 'source /opt/sgxsdk/environment' >> /root/.bashrc && \
+ echo 'alias start-aesm="LD_LIBRARY_PATH=/opt/intel/sgx-aesm-service/aesm
/opt/intel/sgx-aesm-service/aesm/aesm_service"' >> /root/.bashrc && \
+ rm -rf /root/sgx*
+
+WORKDIR /root
diff --git a/dockerfile/Dockerfile.centos7.nightly
b/dockerfile/Dockerfile.centos7.nightly
deleted file mode 100644
index 5ccf548..0000000
--- a/dockerfile/Dockerfile.centos7.nightly
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License..
-
-
-FROM centos:7
-MAINTAINER Yu Ding
-
-ENV sdk_bin
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/centos7.5-server/sgx_linux_x64_sdk_2.7.101.3.bin
-ENV psw_bin
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/centos7.5-server/sgx_linux_x64_psw_2.7.101.3.bin
-ENV rust_toolchain nightly-2019-11-25
-ENV DEBIAN_FRONTEND=noninteractive
-
-RUN yum groupinstall -y 'Development Tools' && yum install -y ocaml
ocaml-ocamlbuild wget python openssl-devel protobuf which git cmake expect
-
-RUN mkdir /root/sgx && \
- mkdir /etc/init && \
- wget -O /root/sgx/psw.bin ${psw_bin} && \
- wget -O /root/sgx/sdk.bin ${sdk_bin} && \
- cd /root/sgx && \
- chmod +x /root/sgx/psw.bin && \
- /root/sgx/psw.bin || true && \
- chmod +x /root/sgx/sdk.bin && \
- echo -e 'no\n/opt' | /root/sgx/sdk.bin && \
- echo 'source /opt/sgxsdk/environment' >> /root/.bashrc && \
- rm -rf /root/sgx/*
-
-RUN wget
'https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init'
-O /root/rustup-init && \
- chmod +x /root/rustup-init && \
- echo '1' | /root/rustup-init --default-toolchain ${rust_toolchain} && \
- echo 'source /root/.cargo/env' >> /root/.bashrc && \
- /root/.cargo/bin/rustup component add rust-src rls rust-analysis clippy
rustfmt && \
- /root/.cargo/bin/cargo install xargo && \
- rm -rf /root/.cargo/registry && rm -rf /root/.cargo/git
-WORKDIR /root
diff --git a/dockerfile/Dockerfile.fedora27.nightly
b/dockerfile/Dockerfile.fedora27.nightly
deleted file mode 100644
index a1296e3..0000000
--- a/dockerfile/Dockerfile.fedora27.nightly
+++ /dev/null
@@ -1,48 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License..
-
-
-FROM fedora:27
-MAINTAINER Yu Ding
-
-ENV sdk_bin
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/fedora27-server/sgx_linux_x64_sdk_2.7.101.3.bin
-ENV psw_bin
https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/fedora27-server/sgx_linux_x64_psw_2.7.101.3.bin
-ENV rust_toolchain nightly-2019-11-25
-ENV DEBIAN_FRONTEND=noninteractive
-
-RUN yum groupinstall -y 'C Development Tools and Libraries' && yum install -y
yum openssl-devel libcurl-devel protobuf-devel cmake ocaml ocaml-ocamlbuild
redhat-rpm-config openssl-devel wget python git cmake expect
-
-RUN mkdir /root/sgx && \
- mkdir /etc/init && \
- wget -O /root/sgx/psw.bin ${psw_bin} && \
- wget -O /root/sgx/sdk.bin ${sdk_bin} && \
- cd /root/sgx && \
- chmod +x /root/sgx/psw.bin && \
- /root/sgx/psw.bin || true && \
- chmod +x /root/sgx/sdk.bin && \
- echo -e 'no\n/opt' | /root/sgx/sdk.bin && \
- echo 'source /opt/sgxsdk/environment' >> /root/.bashrc && \
- rm -rf /root/sgx/*
-
-RUN wget
'https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init'
-O /root/rustup-init && \
- chmod +x /root/rustup-init && \
- echo '1' | /root/rustup-init --default-toolchain ${rust_toolchain} && \
- echo 'source /root/.cargo/env' >> /root/.bashrc && \
- /root/.cargo/bin/rustup component add rust-src rls rust-analysis clippy
rustfmt && \
- /root/.cargo/bin/cargo install xargo && \
- rm -rf /root/.cargo/registry && rm -rf /root/.cargo/git
-WORKDIR /root
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]