Add build logic and packaging for Fedora 24
This commit is contained in:
Родитель
b2db6a6e9f
Коммит
c765b38a0a
|
@ -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": {}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче