Update CoreCLR & Corefx dependencies based on ldd method.

Use a hardcoded list for ubuntu and slight refactoring for cleaner targets
code.
This commit is contained in:
Bryan 2016-02-23 15:27:03 -08:00
parent 6d8b622451
commit ade5479196
5 changed files with 209 additions and 66 deletions

View file

@ -6,39 +6,80 @@
# Dockerfile that creates a container suitable to build dotnet-cli
FROM ubuntu:14.04
# Misc Dependencies for build
RUN apt-get update && apt-get -qqy install curl unzip gettext sudo
# This could become a "microsoft/coreclr" image, since it just installs the dependencies for CoreCLR (and stdlib)
# Install CoreCLR and CoreFx dependencies
RUN apt-get update && \
apt-get -qqy install unzip curl libicu-dev libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g liblttng-ust-dev lldb-3.6-dev lldb-3.6
RUN echo "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.6 main" | tee /etc/apt/sources.list.d/llvm.list && \
curl http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add - && \
apt-get update && apt-get -qqy install\
libc6 \
libedit2 \
libffi6 \
libgcc1 \
libicu52 \
liblldb-3.6 \
libllvm3.6 \
liblttng-ust0 \
liblzma5 \
libncurses5 \
libpython2.7 \
libstdc++6 \
libtinfo5 \
libunwind8 \
liburcu1 \
libuuid1 \
zlib1g \
libasn1-8-heimdal \
libcomerr2 \
libcurl3 \
libgcrypt11 \
libgnutls26 \
libgpg-error0 \
libgssapi3-heimdal \
libgssapi-krb5-2 \
libhcrypto4-heimdal \
libheimbase1-heimdal \
libheimntlm0-heimdal \
libhx509-5-heimdal \
libidn11 \
libk5crypto3 \
libkeyutils1 \
libkrb5-26-heimdal \
libkrb5-3 \
libkrb5support0 \
libldap-2.4-2 \
libp11-kit0 \
libroken18-heimdal \
librtmp0 \
libsasl2-2 \
libsqlite3-0 \
libssl1.0.0 \
libtasn1-6 \
libwind0-heimdal
# Install Dotnet CLI dependencies.
# clang is required for dotnet-compile-native
RUN apt-get -qqy install clang-3.5
# Install Build Prereqs
RUN echo "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.6 main" | tee /etc/apt/sources.list.d/llvm.list && \
curl http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add - && \
apt-get update && \
apt-get install -y debhelper build-essential devscripts git cmake
RUN apt-get -qq install -y debhelper build-essential devscripts git cmake
# Use clang as c++ compiler
RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100
RUN update-alternatives --set c++ /usr/bin/clang++-3.5
# Install azure cli. We need this to publish artifacts.
RUN apt-get -y install nodejs-legacy && \
apt-get -y install npm && \
RUN apt-get -qqy install nodejs-legacy && \
apt-get -qqy install npm && \
npm install -g azure-cli
RUN apt-get install -qqy sudo
# Setup User to match Host User, and give superuser permissions
ARG USER_ID=0
RUN useradd -m code_executor -u ${USER_ID} -g sudo
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# With the User Change, we need to change permssions on these directories
# With the User Change, we need to change permissions on these directories
RUN chmod -R a+rwx /usr/local
RUN chmod -R a+rwx /home
RUN chmod -R 755 /usr/lib/sudo