Add build logic and packaging for Fedora 24

This commit is contained in:
Eric Mellino 2016-10-18 10:44:47 -07:00
Родитель b2db6a6e9f
Коммит c765b38a0a
17 изменённых файлов: 130 добавлений и 0 удалений

Просмотреть файл

@ -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": {}
}

Просмотреть файл

@ -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": {}
}

Просмотреть файл

@ -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" }
};

Просмотреть файл

@ -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"
};

Просмотреть файл

@ -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": {}
}

Просмотреть файл

@ -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":

Просмотреть файл

@ -43,6 +43,10 @@
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>
</Project>
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'fedora.24-x64'" Include="fedora.24/Microsoft.NETCore.DotNetHost.pkgproj">
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>
</Project>
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'debian.8-x64'" Include="debian/Microsoft.NETCore.DotNetHost.pkgproj">
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>

Просмотреть файл

@ -40,6 +40,9 @@
<ProjectReference Include="fedora.23\Microsoft.NETCore.DotNetHost.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>
<ProjectReference Include="fedora.24\Microsoft.NETCore.DotNetHost.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>
<ProjectReference Include="debian\Microsoft.NETCore.DotNetHost.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>

Просмотреть файл

@ -43,6 +43,10 @@
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>
</Project>
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'fedora.24-x64'" Include="fedora.24/Microsoft.NETCore.DotNetHostPolicy.pkgproj">
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>
</Project>
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'debian.8-x64'" Include="debian/Microsoft.NETCore.DotNetHostPolicy.pkgproj">
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>

Просмотреть файл

@ -43,6 +43,9 @@
<ProjectReference Include="fedora.23\Microsoft.NETCore.DotNetHostPolicy.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>
<ProjectReference Include="fedora.24\Microsoft.NETCore.DotNetHostPolicy.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>
<ProjectReference Include="debian\Microsoft.NETCore.DotNetHostPolicy.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>

Просмотреть файл

@ -43,6 +43,10 @@
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>
</Project>
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'fedora.24-x64'" Include="fedora.24/Microsoft.NETCore.DotNetHostResolver.pkgproj">
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>
</Project>
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'debian.8-x64'" Include="debian/Microsoft.NETCore.DotNetHostResolver.pkgproj">
<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>

Просмотреть файл

@ -43,6 +43,9 @@
<ProjectReference Include="fedora.23\Microsoft.NETCore.DotNetHostResolver.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>
<ProjectReference Include="fedora.24\Microsoft.NETCore.DotNetHostResolver.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>
<ProjectReference Include="debian\Microsoft.NETCore.DotNetHostResolver.pkgproj">
<Platform>amd64</Platform>
</ProjectReference>

Просмотреть файл

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<Version>$(HostVersion)</Version>
<SkipPackageFileCheck>true</SkipPackageFileCheck>
<MinOSForArch>fedora.24</MinOSForArch>
<PackageTargetRuntime>$(MinOSForArch)-$(PackagePlatform)</PackageTargetRuntime>
<Serviceable>true</Serviceable>
</PropertyGroup>
<ItemGroup>
<ArchitectureSpecificNativeFile Include="$(DotNetHostBinDir)/dotnet" />
<File Include="@(ArchitectureSpecificNativeFile)">
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
</File>
<File Include="$(ProjectDir)/version.txt" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>

Просмотреть файл

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<Version>$(HostPolicyVersion)</Version>
<SkipPackageFileCheck>true</SkipPackageFileCheck>
<MinOSForArch>fedora.24</MinOSForArch>
<PackageTargetRuntime>$(MinOSForArch)-$(PackagePlatform)</PackageTargetRuntime>
<Serviceable>true</Serviceable>
</PropertyGroup>
<ItemGroup>
<Dependency Include="Microsoft.NETCore.DotNetHostResolver">
<Version>$(HostResolverFullVersion)</Version>
</Dependency>
<ArchitectureSpecificNativeFile Include="$(DotNetHostBinDir)/libhostpolicy.so"/>
<File Include="@(ArchitectureSpecificNativeFile)">
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
</File>
<File Include="$(ProjectDir)/version.txt" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>

Просмотреть файл

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<Version>$(HostResolverVersion)</Version>
<SkipPackageFileCheck>true</SkipPackageFileCheck>
<MinOSForArch>fedora.24</MinOSForArch>
<PackageTargetRuntime>$(MinOSForArch)-$(PackagePlatform)</PackageTargetRuntime>
<Serviceable>true</Serviceable>
</PropertyGroup>
<ItemGroup>
<Dependency Include="Microsoft.NETCore.DotNetHost">
<Version>$(HostFullVersion)</Version>
</Dependency>
<ArchitectureSpecificNativeFile Include="$(DotNetHostBinDir)/libhostfxr.so"/>
<File Include="@(ArchitectureSpecificNativeFile)">
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
</File>
<File Include="$(ProjectDir)/version.txt" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>

Просмотреть файл

@ -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

Просмотреть файл

@ -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": {}
}