diff --git a/TestAssets/TestProjects/PortableTests/StandaloneApp/project.json b/TestAssets/TestProjects/PortableTests/StandaloneApp/project.json index 402647c35..12564f273 100644 --- a/TestAssets/TestProjects/PortableTests/StandaloneApp/project.json +++ b/TestAssets/TestProjects/PortableTests/StandaloneApp/project.json @@ -21,7 +21,7 @@ "ubuntu.14.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8.2-x64": {} + "debian.8-x64": {} }, "runtimeOptions": { "somethingString": "anything", diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds index 8a6253e49..343f13d78 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds @@ -27,6 +27,10 @@ Linux amd64 + + Linux + amd64 + OSX amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj index b91148bc4..68795510c 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj @@ -27,6 +27,9 @@ amd64 + + amd64 + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds index 92e816243..e2329abb5 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds @@ -27,6 +27,10 @@ Linux amd64 + + Linux + amd64 + OSX amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj index 99987033e..ac3edf397 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj @@ -30,6 +30,9 @@ amd64 + + amd64 + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds index b11bc2493..0bcc0bd6c 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds @@ -27,6 +27,10 @@ Linux amd64 + + Linux + amd64 + OSX amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj index e7ca2451e..b9a830ced 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj @@ -30,6 +30,9 @@ amd64 + + amd64 + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHost.pkgproj new file mode 100644 index 000000000..4d3c1b9f5 --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHost.pkgproj @@ -0,0 +1,22 @@ + + + + + + $(HostVersion) + true + debian.8 + $(MinOSForArch)-$(PackagePlatform) + + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHostPolicy.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHostPolicy.pkgproj new file mode 100644 index 000000000..e3e42e875 --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHostPolicy.pkgproj @@ -0,0 +1,26 @@ + + + + + + $(HostPolicyVersion) + true + debian.8 + $(MinOSForArch)-$(PackagePlatform) + + + + + $(HostResolverFullVersion) + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHostResolver.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHostResolver.pkgproj new file mode 100644 index 000000000..15624d978 --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/debian/Microsoft.NETCore.DotNetHostResolver.pkgproj @@ -0,0 +1,26 @@ + + + + + + $(HostResolverVersion) + true + debian.8 + $(MinOSForArch)-$(PackagePlatform) + + + + + $(HostFullVersion) + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/scripts/docker/debian/Dockerfile b/scripts/docker/debian/Dockerfile new file mode 100644 index 000000000..3798f757f --- /dev/null +++ b/scripts/docker/debian/Dockerfile @@ -0,0 +1,89 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +# Dockerfile that creates a container suitable to build dotnet-cli +FROM debian:jessie + +# 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) +RUN echo "deb http://llvm.org/apt/jessie/ llvm-toolchain-jessie-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 \ + libuuid1 \ + zlib1g \ + libasn1-8-heimdal \ + libcomerr2 \ + libcurl3 \ + 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 \ + libsasl2-2 \ + libsqlite3-0 \ + libssl1.0.0 \ + libssl-dev \ + 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 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 + +# 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 permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/lib/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code + +# Work around https://github.com/dotnet/cli/issues/1582 until Docker releases a +# fix (https://github.com/docker/docker/issues/20818). This workaround allows +# the container to be run with the default seccomp Docker settings by avoiding +# the restart_syscall made by LTTng which causes a failed assertion. +ENV LTTNG_UST_REGISTER_TIMEOUT 0 diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index 4cdbe1b37..ad3e47d71 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -61,6 +61,9 @@ if [ -z "$DOCKERFILE" ]; then elif [ "$(cat /etc/*-release | grep -cim1 centos)" -eq 1 ]; then echo "Detected current OS as CentOS, using 'centos' image" export DOCKERFILE=scripts/docker/centos + elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then + echo "Detected current OS as Debian, using 'debian' image" + export DOCKERFILE=scripts/docker/debian else echo "Unknown Linux Distro. Using 'ubuntu' image" export DOCKERFILE=scripts/docker/ubuntu diff --git a/scripts/dotnet-cli-build/Utils/Crossgen.cs b/scripts/dotnet-cli-build/Utils/Crossgen.cs index 37cf836aa..c84572407 100644 --- a/scripts/dotnet-cli-build/Utils/Crossgen.cs +++ b/scripts/dotnet-cli-build/Utils/Crossgen.cs @@ -32,7 +32,7 @@ namespace Microsoft.DotNet.Cli.Build } else if (CurrentPlatform.IsDebian) { - packageId = "runtime.debian.8.2-x64.Microsoft.NETCore.Runtime.CoreCLR"; + packageId = "runtime.debian.8-x64.Microsoft.NETCore.Runtime.CoreCLR"; } else { diff --git a/src/corehost/build.sh b/src/corehost/build.sh index 4997514d6..1f045ca04 100755 --- a/src/corehost/build.sh +++ b/src/corehost/build.sh @@ -18,7 +18,7 @@ init_distro_name_and_rid() export __rid_plat=rhel.7 elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then export __distro_name=debian - export __rid_plat= + export __rid_plat=debian.8 else export __distro_name="" export __rid_plat=