From c765b38a0aa1a4850f38c8376901f8eb2d3689b2 Mon Sep 17 00:00:00 2001 From: Eric Mellino Date: Tue, 18 Oct 2016 10:44:47 -0700 Subject: [PATCH] Add build logic and packaging for Fedora 24 --- .../TestProjects/StandaloneApp/project.json | 1 + .../StandaloneTestApp/project.json | 1 + .../dotnet-host-build/CompileTargets.cs | 1 + .../dotnet-host-build/PublishTargets.cs | 1 + build_projects/dotnet-host-build/project.json | 1 + .../Utils/Monikers.cs | 2 ++ .../Microsoft.NETCore.DotNetHost.builds | 4 +++ .../Microsoft.NETCore.DotNetHost.pkgproj | 3 +++ .../Microsoft.NETCore.DotNetHostPolicy.builds | 4 +++ ...Microsoft.NETCore.DotNetHostPolicy.pkgproj | 3 +++ ...icrosoft.NETCore.DotNetHostResolver.builds | 4 +++ ...crosoft.NETCore.DotNetHostResolver.pkgproj | 3 +++ .../Microsoft.NETCore.DotNetHost.pkgproj | 23 ++++++++++++++++ ...Microsoft.NETCore.DotNetHostPolicy.pkgproj | 27 +++++++++++++++++++ ...crosoft.NETCore.DotNetHostResolver.pkgproj | 27 +++++++++++++++++++ scripts/docker/fedora.24/Dockerfile | 24 +++++++++++++++++ .../RuntimeGraphGenerator/project.json | 1 + 17 files changed, 130 insertions(+) create mode 100644 pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHost.pkgproj create mode 100644 pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHostPolicy.pkgproj create mode 100644 pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHostResolver.pkgproj create mode 100644 scripts/docker/fedora.24/Dockerfile diff --git a/TestAssets/TestProjects/StandaloneApp/project.json b/TestAssets/TestProjects/StandaloneApp/project.json index 7dce9240..b091b159 100644 --- a/TestAssets/TestProjects/StandaloneApp/project.json +++ b/TestAssets/TestProjects/StandaloneApp/project.json @@ -28,6 +28,7 @@ "rhel.7.2-x64": {}, "debian.8-x64": {}, "fedora.23-x64": {}, + "fedora.24-x64": {}, "opensuse.13.2-x64": {}, "opensuse.42.1-x64": {} } diff --git a/TestAssets/TestProjects/StandaloneTestApp/project.json b/TestAssets/TestProjects/StandaloneTestApp/project.json index f497a026..f8115d55 100644 --- a/TestAssets/TestProjects/StandaloneTestApp/project.json +++ b/TestAssets/TestProjects/StandaloneTestApp/project.json @@ -38,6 +38,7 @@ "rhel.7.2-x64": {}, "debian.8-x64": {}, "fedora.23-x64": {}, + "fedora.24-x64": {}, "opensuse.13.2-x64": {}, "opensuse.42.1-x64": {} } diff --git a/build_projects/dotnet-host-build/CompileTargets.cs b/build_projects/dotnet-host-build/CompileTargets.cs index 8b3553e7..663514c8 100644 --- a/build_projects/dotnet-host-build/CompileTargets.cs +++ b/build_projects/dotnet-host-build/CompileTargets.cs @@ -35,6 +35,7 @@ namespace Microsoft.DotNet.Host.Build { "rhel.7.2-x64", "rhel.7-x64" }, { "debian.8-x64", "debian.8-x64" }, { "fedora.23-x64", "fedora.23-x64" }, + { "fedora.24-x64", "fedora.24-x64" }, { "opensuse.13.2-x64", "opensuse.13.2-x64" }, { "opensuse.42.1-x64", "opensuse.42.1-x64" } }; diff --git a/build_projects/dotnet-host-build/PublishTargets.cs b/build_projects/dotnet-host-build/PublishTargets.cs index adb950e9..8b504799 100644 --- a/build_projects/dotnet-host-build/PublishTargets.cs +++ b/build_projects/dotnet-host-build/PublishTargets.cs @@ -124,6 +124,7 @@ namespace Microsoft.DotNet.Host.Build "debian.x64.version", "centos.x64.version", "fedora.23.x64.version", + "fedora.24.x64.version", "opensuse.13.2.x64.version", "opensuse.42.1.x64.version" }; diff --git a/build_projects/dotnet-host-build/project.json b/build_projects/dotnet-host-build/project.json index dbea1ea4..3721e02d 100644 --- a/build_projects/dotnet-host-build/project.json +++ b/build_projects/dotnet-host-build/project.json @@ -40,6 +40,7 @@ "rhel.7.2-x64": {}, "debian.8-x64": {}, "fedora.23-x64": {}, + "fedora.24-x64": {}, "opensuse.13.2-x64": {}, "opensuse.42.1-x64": {} } diff --git a/build_projects/shared-build-targets-utils/Utils/Monikers.cs b/build_projects/shared-build-targets-utils/Utils/Monikers.cs index c849214e..fbb0b590 100644 --- a/build_projects/shared-build-targets-utils/Utils/Monikers.cs +++ b/build_projects/shared-build-targets-utils/Utils/Monikers.cs @@ -59,6 +59,8 @@ namespace Microsoft.DotNet.Cli.Build 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": diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds index 6d5c58da..fbaf6531 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds @@ -43,6 +43,10 @@ Linux amd64 + + Linux + amd64 + Linux amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj index cc85aed5..2a0c5117 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj @@ -40,6 +40,9 @@ amd64 + + 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 b89d75f6..93db5151 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds @@ -43,6 +43,10 @@ Linux amd64 + + Linux + amd64 + Linux amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj index d1f00d62..89f38f44 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj @@ -43,6 +43,9 @@ amd64 + + 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 37c235d5..bbcc7673 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds @@ -43,6 +43,10 @@ Linux amd64 + + Linux + amd64 + Linux amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj index b6485251..19497a15 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj @@ -43,6 +43,9 @@ amd64 + + amd64 + amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHost.pkgproj new file mode 100644 index 00000000..4fd70d62 --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHost.pkgproj @@ -0,0 +1,23 @@ + + + + + + $(HostVersion) + true + fedora.24 + $(MinOSForArch)-$(PackagePlatform) + true + + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHostPolicy.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHostPolicy.pkgproj new file mode 100644 index 00000000..0d94a178 --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHostPolicy.pkgproj @@ -0,0 +1,27 @@ + + + + + + $(HostPolicyVersion) + true + fedora.24 + $(MinOSForArch)-$(PackagePlatform) + true + + + + + $(HostResolverFullVersion) + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHostResolver.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHostResolver.pkgproj new file mode 100644 index 00000000..ac447caf --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/fedora.24/Microsoft.NETCore.DotNetHostResolver.pkgproj @@ -0,0 +1,27 @@ + + + + + + $(HostResolverVersion) + true + fedora.24 + $(MinOSForArch)-$(PackagePlatform) + true + + + + + $(HostFullVersion) + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/scripts/docker/fedora.24/Dockerfile b/scripts/docker/fedora.24/Dockerfile new file mode 100644 index 00000000..5c1556ab --- /dev/null +++ b/scripts/docker/fedora.24/Dockerfile @@ -0,0 +1,24 @@ +FROM fedora:24 + +RUN dnf install -y bash git cmake wget which python clang-3.8.0-2.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 + +# 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 diff --git a/tools/independent/RuntimeGraphGenerator/project.json b/tools/independent/RuntimeGraphGenerator/project.json index a1ac9ba8..240118ec 100644 --- a/tools/independent/RuntimeGraphGenerator/project.json +++ b/tools/independent/RuntimeGraphGenerator/project.json @@ -32,6 +32,7 @@ "rhel.7.2-x64": {}, "debian.8-x64": {}, "fedora.23-x64": {}, + "fedora.24-x64": {}, "opensuse.13.2-x64": {}, "opensuse.42.1-x64": {} }