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)' == 'osx' ">$(InstallerExtension)</BundleExtension>
|
||||||
<BundleExtension Condition=" '$(OSName)' == 'ubuntu' ">$(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>
|
<ProductMonikerRid Condition=" '$(ProductMonikerRid)' == '' ">$(OSName)-$(Architecture)</ProductMonikerRid>
|
||||||
|
|
||||||
<DynamicLibPrefix>lib</DynamicLibPrefix>
|
<DynamicLibPrefix>lib</DynamicLibPrefix>
|
||||||
|
@ -127,8 +132,16 @@
|
||||||
<CombinedFrameworkHostCompressedFileName>dotnet-$(ProductMonikerRid).$(SharedFrameworkVersion)$(ArchiveExtension)</CombinedFrameworkHostCompressedFileName>
|
<CombinedFrameworkHostCompressedFileName>dotnet-$(ProductMonikerRid).$(SharedFrameworkVersion)$(ArchiveExtension)</CombinedFrameworkHostCompressedFileName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Additional Shared Framework to be installed -->
|
|
||||||
<PropertyGroup>
|
<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>
|
<AdditionalCoreSetupChannel>preview</AdditionalCoreSetupChannel>
|
||||||
<AdditionalSharedFrameworkVersion>1.0.4</AdditionalSharedFrameworkVersion>
|
<AdditionalSharedFrameworkVersion>1.0.4</AdditionalSharedFrameworkVersion>
|
||||||
<AdditionalSharedHostVersion>1.0.1</AdditionalSharedHostVersion>
|
<AdditionalSharedHostVersion>1.0.1</AdditionalSharedHostVersion>
|
||||||
|
@ -193,7 +206,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- Additional Shared Framework to be installed -->
|
<!-- Additional Shared Framework to be installed -->
|
||||||
<PropertyGroup>
|
<PropertyGroup Condition=" '$(IncludeAdditionalSharedFrameworks)' != 'false' ">
|
||||||
<AdditionalCoreSetupBlobRootUrlWithChannel>$(CoreSetupBlobRootUrl)$(AdditionalCoreSetupChannel)</AdditionalCoreSetupBlobRootUrlWithChannel>
|
<AdditionalCoreSetupBlobRootUrlWithChannel>$(CoreSetupBlobRootUrl)$(AdditionalCoreSetupChannel)</AdditionalCoreSetupBlobRootUrlWithChannel>
|
||||||
<AdditionalSharedFrameworkArchiveBlobRootUrl>$(AdditionalCoreSetupBlobRootUrlWithChannel)/Binaries/$(AdditionalSharedFrameworkVersion)</AdditionalSharedFrameworkArchiveBlobRootUrl>
|
<AdditionalSharedFrameworkArchiveBlobRootUrl>$(AdditionalCoreSetupBlobRootUrlWithChannel)/Binaries/$(AdditionalSharedFrameworkVersion)</AdditionalSharedFrameworkArchiveBlobRootUrl>
|
||||||
<AdditionalCoreSetupInstallerBlobRootUrl>$(AdditionalCoreSetupBlobRootUrlWithChannel)/Installers</AdditionalCoreSetupInstallerBlobRootUrl>
|
<AdditionalCoreSetupInstallerBlobRootUrl>$(AdditionalCoreSetupBlobRootUrlWithChannel)/Installers</AdditionalCoreSetupInstallerBlobRootUrl>
|
||||||
|
@ -201,7 +214,7 @@
|
||||||
<AdditionalCombinedSharedHostAndFrameworkArchive>$(AdditionalCoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive</AdditionalCombinedSharedHostAndFrameworkArchive>
|
<AdditionalCombinedSharedHostAndFrameworkArchive>$(AdditionalCoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive</AdditionalCombinedSharedHostAndFrameworkArchive>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup Condition=" '$(IncludeAdditionalSharedFrameworks)' != 'false' ">
|
||||||
<_DownloadAndExtractItem Include="AdditionalCombinedSharedHostAndFrameworkArchive"
|
<_DownloadAndExtractItem Include="AdditionalCombinedSharedHostAndFrameworkArchive"
|
||||||
Condition="!Exists('$(AdditionalCombinedSharedHostAndFrameworkArchive)')">
|
Condition="!Exists('$(AdditionalCombinedSharedHostAndFrameworkArchive)')">
|
||||||
<Url>$(AdditionalSharedFrameworkArchiveBlobRootUrl)/$(AdditionalCombinedFrameworkHostCompressedFileName)</Url>
|
<Url>$(AdditionalSharedFrameworkArchiveBlobRootUrl)/$(AdditionalCombinedFrameworkHostCompressedFileName)</Url>
|
||||||
|
|
|
@ -50,12 +50,15 @@ namespace Microsoft.DotNet.Cli.Build
|
||||||
{ "Windows_x64", false },
|
{ "Windows_x64", false },
|
||||||
{ "Ubuntu_x64", false },
|
{ "Ubuntu_x64", false },
|
||||||
{ "Ubuntu_16_04_x64", false },
|
{ "Ubuntu_16_04_x64", false },
|
||||||
|
{ "Ubuntu_16_10_x64", false },
|
||||||
{ "RHEL_x64", false },
|
{ "RHEL_x64", false },
|
||||||
{ "OSX_x64", false },
|
{ "OSX_x64", false },
|
||||||
{ "Debian_x64", false },
|
{ "Debian_x64", false },
|
||||||
{ "CentOS_x64", false },
|
{ "CentOS_x64", false },
|
||||||
{ "Fedora_23_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()}";
|
var versionBadgeName = $"{Monikers.GetBadgeMoniker()}";
|
||||||
|
|
|
@ -15,10 +15,16 @@ namespace Microsoft.DotNet.Cli.Build
|
||||||
{
|
{
|
||||||
case "ubuntu.16.04-x64":
|
case "ubuntu.16.04-x64":
|
||||||
return "Ubuntu_16_04_x64";
|
return "Ubuntu_16_04_x64";
|
||||||
|
case "ubuntu.16.10-x64":
|
||||||
|
return "Ubuntu_16_10_x64";
|
||||||
case "fedora.23-x64":
|
case "fedora.23-x64":
|
||||||
return "Fedora_23_x64";
|
return "Fedora_23_x64";
|
||||||
|
case "fedora.24-x64":
|
||||||
|
return "Fedora_24_x64";
|
||||||
case "opensuse.13.2-x64":
|
case "opensuse.13.2-x64":
|
||||||
return "openSUSE_13_2_x64";
|
return "openSUSE_13_2_x64";
|
||||||
|
case "opensuse.42.1-x64":
|
||||||
|
return "openSUSE_42_1_x64";
|
||||||
}
|
}
|
||||||
|
|
||||||
return $"{CurrentPlatform.Current}_{CurrentArchitecture.Current}";
|
return $"{CurrentPlatform.Current}_{CurrentArchitecture.Current}";
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<TargetFramework>netcoreapp1.0</TargetFramework>
|
<TargetFramework>netcoreapp1.0</TargetFramework>
|
||||||
<AssemblyName>update-dependencies</AssemblyName>
|
<AssemblyName>update-dependencies</AssemblyName>
|
||||||
<OutputType>Exe</OutputType>
|
<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>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -103,8 +103,8 @@ if ($LastExitCode -ne 0)
|
||||||
# install the post-PJnistic stage0
|
# install the post-PJnistic stage0
|
||||||
$dotnetInstallPath = Join-Path $toolsLocalPath "dotnet-install.ps1"
|
$dotnetInstallPath = Join-Path $toolsLocalPath "dotnet-install.ps1"
|
||||||
|
|
||||||
Write-Host "$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 -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)
|
if ($LastExitCode -ne 0)
|
||||||
{
|
{
|
||||||
Write-Output "The .NET CLI installation failed with exit code $LastExitCode"
|
Write-Output "The .NET CLI installation failed with exit code $LastExitCode"
|
||||||
|
|
|
@ -163,8 +163,8 @@ if [ $? != 0 ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# now execute the script
|
# now execute the script
|
||||||
echo "installing CLI: $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 --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE"
|
$dotnetInstallPath --version "1.0.0-rc4-004834" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE"
|
||||||
if [ $? != 0 ]; then
|
if [ $? != 0 ]; then
|
||||||
echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2
|
echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2
|
||||||
exit $?
|
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>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp1.1</TargetFramework>
|
<TargetFramework>netcoreapp1.1</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<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>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="**\*.cs" />
|
<Compile Include="**\*.cs" />
|
||||||
|
|
Loading…
Reference in a new issue