Add support for Fedora 24, OpenSUSE 42.1 and Ubuntu 16.10
This commit is contained in:
parent
2f759d85f2
commit
916a19c493
10 changed files with 174 additions and 11 deletions
|
@ -95,7 +95,12 @@
|
|||
<BundleExtension Condition=" '$(OSName)' == 'osx' ">$(InstallerExtension)</BundleExtension>
|
||||
<BundleExtension Condition=" '$(OSName)' == 'ubuntu' ">$(InstallerExtension)</BundleExtension>
|
||||
|
||||
<ProductMonikerRid Condition=" '$(Rid)' == 'ubuntu.16.04-x64' Or '$(Rid)' == 'fedora.23-x64' Or '$(Rid)' == 'opensuse.13.2-x64' ">$(Rid)</ProductMonikerRid>
|
||||
<ProductMonikerRid Condition=" '$(Rid)' == 'ubuntu.16.04-x64' Or
|
||||
'$(Rid)' == 'ubuntu.16.10-x64' Or
|
||||
'$(Rid)' == 'fedora.23-x64' Or
|
||||
'$(Rid)' == 'fedora.24-x64' Or
|
||||
'$(Rid)' == 'opensuse.13.2-x64' Or
|
||||
'$(Rid)' == 'opensuse.42.1-x64' ">$(Rid)</ProductMonikerRid>
|
||||
<ProductMonikerRid Condition=" '$(ProductMonikerRid)' == '' ">$(OSName)-$(Architecture)</ProductMonikerRid>
|
||||
|
||||
<DynamicLibPrefix>lib</DynamicLibPrefix>
|
||||
|
@ -127,8 +132,16 @@
|
|||
<CombinedFrameworkHostCompressedFileName>dotnet-$(ProductMonikerRid).$(SharedFrameworkVersion)$(ArchiveExtension)</CombinedFrameworkHostCompressedFileName>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Additional Shared Framework to be installed -->
|
||||
<PropertyGroup>
|
||||
<HasAdditionalSharedFramework Condition="'$(Rid)' != 'ubuntu.16.10-x64' AND
|
||||
'$(Rid)' != 'fedora.24-x64' AND
|
||||
'$(Rid)' != 'opensuse.42.1-x64'">true</HasAdditionalSharedFramework>
|
||||
<IncludeAdditionalSharedFrameworks Condition=" '$(IncludeAdditionalSharedFrameworks)' == '' AND '$(HasAdditionalSharedFramework)' == 'true' ">true</IncludeAdditionalSharedFrameworks>
|
||||
<IncludeAdditionalSharedFrameworks Condition=" '$(IncludeAdditionalSharedFrameworks)' == '' ">false</IncludeAdditionalSharedFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Additional Shared Framework to be installed -->
|
||||
<PropertyGroup Condition=" '$(IncludeAdditionalSharedFrameworks)' == 'true' ">
|
||||
<AdditionalCoreSetupChannel>preview</AdditionalCoreSetupChannel>
|
||||
<AdditionalSharedFrameworkVersion>1.0.4</AdditionalSharedFrameworkVersion>
|
||||
<AdditionalSharedHostVersion>1.0.1</AdditionalSharedHostVersion>
|
||||
|
@ -193,7 +206,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<!-- Additional Shared Framework to be installed -->
|
||||
<PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(IncludeAdditionalSharedFrameworks)' != 'false' ">
|
||||
<AdditionalCoreSetupBlobRootUrlWithChannel>$(CoreSetupBlobRootUrl)$(AdditionalCoreSetupChannel)</AdditionalCoreSetupBlobRootUrlWithChannel>
|
||||
<AdditionalSharedFrameworkArchiveBlobRootUrl>$(AdditionalCoreSetupBlobRootUrlWithChannel)/Binaries/$(AdditionalSharedFrameworkVersion)</AdditionalSharedFrameworkArchiveBlobRootUrl>
|
||||
<AdditionalCoreSetupInstallerBlobRootUrl>$(AdditionalCoreSetupBlobRootUrlWithChannel)/Installers</AdditionalCoreSetupInstallerBlobRootUrl>
|
||||
|
@ -201,7 +214,7 @@
|
|||
<AdditionalCombinedSharedHostAndFrameworkArchive>$(AdditionalCoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive</AdditionalCombinedSharedHostAndFrameworkArchive>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ItemGroup Condition=" '$(IncludeAdditionalSharedFrameworks)' != 'false' ">
|
||||
<_DownloadAndExtractItem Include="AdditionalCombinedSharedHostAndFrameworkArchive"
|
||||
Condition="!Exists('$(AdditionalCombinedSharedHostAndFrameworkArchive)')">
|
||||
<Url>$(AdditionalSharedFrameworkArchiveBlobRootUrl)/$(AdditionalCombinedFrameworkHostCompressedFileName)</Url>
|
||||
|
|
|
@ -50,12 +50,15 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
{ "Windows_x64", false },
|
||||
{ "Ubuntu_x64", false },
|
||||
{ "Ubuntu_16_04_x64", false },
|
||||
{ "Ubuntu_16_10_x64", false },
|
||||
{ "RHEL_x64", false },
|
||||
{ "OSX_x64", false },
|
||||
{ "Debian_x64", false },
|
||||
{ "CentOS_x64", false },
|
||||
{ "Fedora_23_x64", false },
|
||||
{ "openSUSE_13_2_x64", false }
|
||||
{ "Fedora_24_x64", false },
|
||||
{ "openSUSE_13_2_x64", false },
|
||||
{ "openSUSE_42_1_x64", false },
|
||||
};
|
||||
|
||||
var versionBadgeName = $"{Monikers.GetBadgeMoniker()}";
|
||||
|
|
|
@ -15,10 +15,16 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
{
|
||||
case "ubuntu.16.04-x64":
|
||||
return "Ubuntu_16_04_x64";
|
||||
case "ubuntu.16.10-x64":
|
||||
return "Ubuntu_16_10_x64";
|
||||
case "fedora.23-x64":
|
||||
return "Fedora_23_x64";
|
||||
case "fedora.24-x64":
|
||||
return "Fedora_24_x64";
|
||||
case "opensuse.13.2-x64":
|
||||
return "openSUSE_13_2_x64";
|
||||
case "opensuse.42.1-x64":
|
||||
return "openSUSE_42_1_x64";
|
||||
}
|
||||
|
||||
return $"{CurrentPlatform.Current}_{CurrentArchitecture.Current}";
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<TargetFramework>netcoreapp1.0</TargetFramework>
|
||||
<AssemblyName>update-dependencies</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RuntimeIdentifiers>win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;fedora.24-x64;opensuse.13.2-x64;opensuse.42.1-x64</RuntimeIdentifiers>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -103,8 +103,8 @@ if ($LastExitCode -ne 0)
|
|||
# install the post-PJnistic stage0
|
||||
$dotnetInstallPath = Join-Path $toolsLocalPath "dotnet-install.ps1"
|
||||
|
||||
Write-Host "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture"""
|
||||
Invoke-Expression "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture"""
|
||||
Write-Host "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture"""
|
||||
Invoke-Expression "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture"""
|
||||
if ($LastExitCode -ne 0)
|
||||
{
|
||||
Write-Output "The .NET CLI installation failed with exit code $LastExitCode"
|
||||
|
|
|
@ -163,8 +163,8 @@ if [ $? != 0 ]; then
|
|||
fi
|
||||
|
||||
# now execute the script
|
||||
echo "installing CLI: $dotnetInstallPath --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\""
|
||||
$dotnetInstallPath --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE"
|
||||
echo "installing CLI: $dotnetInstallPath --version \"1.0.0-rc4-004834\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\""
|
||||
$dotnetInstallPath --version "1.0.0-rc4-004834" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE"
|
||||
if [ $? != 0 ]; then
|
||||
echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2
|
||||
exit $?
|
||||
|
|
28
scripts/docker/fedora.24/Dockerfile
Normal file
28
scripts/docker/fedora.24/Dockerfile
Normal file
|
@ -0,0 +1,28 @@
|
|||
FROM fedora:24
|
||||
|
||||
RUN dnf install -y bash git cmake wget which python clang-3.8.0-1.fc24.x86_64 llvm-devel-3.8.0-1.fc24.x86_64 make libicu-devel lldb-devel.x86_64 \
|
||||
libunwind-devel.x86_64 lttng-ust-devel.x86_64 uuid-devel libuuid-devel tar glibc-locale-source zlib-devel libcurl-devel \
|
||||
krb5-devel openssl-devel autoconf libtool hostname
|
||||
|
||||
RUN dnf upgrade -y nss
|
||||
|
||||
RUN dnf clean all
|
||||
|
||||
# Set a different rid to publish buildtools for, until we update to a version which
|
||||
# natively supports fedora.24-x64
|
||||
ENV __PUBLISH_RID=fedora.23-x64
|
||||
|
||||
# Setup User to match Host User, and give superuser permissions
|
||||
ARG USER_ID=0
|
||||
RUN useradd -m code_executor -u ${USER_ID} -g wheel
|
||||
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
|
||||
|
||||
# Set user to the one we just created
|
||||
USER ${USER_ID}
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /opt/code
|
50
scripts/docker/opensuse.42.1/Dockerfile
Normal file
50
scripts/docker/opensuse.42.1/Dockerfile
Normal file
|
@ -0,0 +1,50 @@
|
|||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
FROM opensuse:42.1
|
||||
|
||||
# Install the base toolchain we need to build anything (clang, cmake, make and the like)
|
||||
# this does not include libraries that we need to compile different projects, we'd like
|
||||
# them in a different layer.
|
||||
RUN zypper -n install binutils \
|
||||
cmake \
|
||||
which \
|
||||
gcc \
|
||||
llvm-clang \
|
||||
tar \
|
||||
ncurses-utils \
|
||||
curl \
|
||||
git \
|
||||
sudo && \
|
||||
ln -s /usr/bin/clang++ /usr/bin/clang++-3.5 && \
|
||||
zypper clean -a
|
||||
|
||||
# Dependencies of CoreCLR and CoreFX.
|
||||
|
||||
RUN zypper -n install --force-resolution \
|
||||
libunwind \
|
||||
libicu \
|
||||
lttng-ust \
|
||||
libuuid1 \
|
||||
libopenssl1_0_0 \
|
||||
libcurl4 \
|
||||
krb5 && \
|
||||
zypper clean -a
|
||||
|
||||
# Setup User to match Host User, and give superuser permissions
|
||||
ARG USER_ID=0
|
||||
RUN useradd -m code_executor -u ${USER_ID} -g wheel
|
||||
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
|
63
scripts/docker/ubuntu.16.10/Dockerfile
Normal file
63
scripts/docker/ubuntu.16.10/Dockerfile
Normal file
|
@ -0,0 +1,63 @@
|
|||
#
|
||||
# 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 ubuntu:16.10
|
||||
|
||||
# Misc Dependencies for build
|
||||
RUN apt-get update && \
|
||||
apt-get -qqy install \
|
||||
curl \
|
||||
unzip \
|
||||
gettext \
|
||||
sudo && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# This could become a "microsoft/coreclr" image, since it just installs the dependencies for CoreCLR (and stdlib)
|
||||
RUN apt-get update && \
|
||||
apt-get -qqy install \
|
||||
libunwind8 \
|
||||
libkrb5-3 \
|
||||
libicu57 \
|
||||
liblttng-ust0 \
|
||||
libssl1.0.0 \
|
||||
zlib1g \
|
||||
libuuid1 \
|
||||
liblldb-3.5 && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Build Prereqs
|
||||
RUN apt-get update && \
|
||||
apt-get -qqy install \
|
||||
debhelper \
|
||||
build-essential \
|
||||
devscripts \
|
||||
git \
|
||||
cmake \
|
||||
clang-3.5 && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 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
|
|
@ -4,7 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp1.1</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RuntimeIdentifiers>win7-x64;win7-x86;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64;osx.10.10-x64;rhel.7-x64</RuntimeIdentifiers>
|
||||
<RuntimeIdentifiers>win7-x64;win7-x86;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;fedora.24-x64;opensuse.13.2-x64;opensuse.42.1-x64;osx.10.10-x64;rhel.7-x64</RuntimeIdentifiers>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="**\*.cs" />
|
||||
|
|
Loading…
Reference in a new issue