Merge in 'release/6.0.1xx' changes
This commit is contained in:
commit
834af7b5f3
9 changed files with 181 additions and 15 deletions
66
README.md
66
README.md
|
@ -25,7 +25,7 @@ You can consult the [Documents Index for the SDK repo](https://github.com/dotnet
|
||||||
|
|
||||||
This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).
|
This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).
|
||||||
|
|
||||||
# Building
|
# Build .NET installer
|
||||||
|
|
||||||
The repository contains native code project required for the Windows installer. If you intend to build it locally on Windows, you will need to ensure that you have the following items installed.
|
The repository contains native code project required for the Windows installer. If you intend to build it locally on Windows, you will need to ensure that you have the following items installed.
|
||||||
- Install CMAKE 3.21.0 is required if you're building VS 17.0. Make sure to add CMAKE to your PATH (the installer will prompt you).
|
- Install CMAKE 3.21.0 is required if you're building VS 17.0. Make sure to add CMAKE to your PATH (the installer will prompt you).
|
||||||
|
@ -36,25 +36,69 @@ The repository contains native code project required for the Windows installer.
|
||||||
- To build in VS, run a command line build first, then run `artifacts\core-sdk-build-env.bat` from a VS command prompt and then `devenv Microsoft.DotNet.Cli.sln`
|
- To build in VS, run a command line build first, then run `artifacts\core-sdk-build-env.bat` from a VS command prompt and then `devenv Microsoft.DotNet.Cli.sln`
|
||||||
- To test different languages of the installer, run `artifacts\packages\Debug\Shipping>dotnet-sdk-3.1.412-win-x64.exe /lang 1046` using the LCID of the language you want to test
|
- To test different languages of the installer, run `artifacts\packages\Debug\Shipping>dotnet-sdk-3.1.412-win-x64.exe /lang 1046` using the LCID of the language you want to test
|
||||||
|
|
||||||
# Building (source-build)
|
# Build .NET from source (source-build)
|
||||||
|
|
||||||
This repo also contains code to help you build the entire .NET product end-to-end from sources (often referred to as source-build), even in disconnected/offline mode. This is currently only tested on Linux.
|
This repo also contains code to help you build the entire .NET product end-to-end from source (often referred to as source-build), even in disconnected/offline mode.
|
||||||
|
Please see the [dotnet/source-build](https://github.com/dotnet/source-build) repo for more information.
|
||||||
|
|
||||||
1. `./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=/path/to/place/complete/dotnet/sources`
|
## Support
|
||||||
|
|
||||||
This fetches the complete set of source code used to build the .NET SDK. It creates a tarball of the complete .NET source code at `artifacts/packages/<Release|Debug>/Shipping/`. It also places the extracted sources at `/path/to/place/complete/dotnet/sources`. Due to a few known issues, that source directory should be outside (and not somewhere under) this repository.
|
.NET Source-Build is supported on the oldest available .NET SDK feature update, and on Linux only.
|
||||||
|
For example, if both .NET 6.0.1XX and 6.0.2XX feature updates are available from [dotnet.microsoft.com](https://dotnet.microsoft.com/en-us/download/dotnet/6.0), Source-Build will only support 6.0.1XX.
|
||||||
|
For the latest information about Source-Build support for new .NET versions, please check our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions) for announcements.
|
||||||
|
|
||||||
2. `cd /path/to/complete/dotnet/sources`
|
## Prerequisites
|
||||||
|
|
||||||
3. `./prep.sh --bootstrap`
|
The dependencies for building .NET from source can be found [here](https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/linux-requirements.md).
|
||||||
|
|
||||||
This downloads a .NET SDK and a number of .NET packages and other prebuilts needed to build .NET from source.
|
## Building
|
||||||
|
|
||||||
Eventually, we want to make it possible to bootstrap .NET 6 in which case this step can be skipped.
|
1. Create a .NET source tarball.
|
||||||
|
|
||||||
4. `./build.sh`
|
```bash
|
||||||
|
./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=/path/to/place/complete/dotnet/sources
|
||||||
|
```
|
||||||
|
|
||||||
This builds the entire .NET SDK. The resulting SDK is placed at `artifacts/$ARCH/Release/dotnet-sdk-$VERSION-$ARCH.tar.gz`.
|
This fetches the complete .NET source code and creates a tarball at `artifacts/packages/<Release|Debug>/Shipping/`.
|
||||||
|
The extracted source code is also placed at `/path/to/place/complete/dotnet/sources`.
|
||||||
|
The source directory should be outside (and not somewhere under) the installer directory.
|
||||||
|
|
||||||
|
2. Prep the source to build on your distro. This downloads a .NET SDK and a number of .NET packages needed to build .NET from source.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /path/to/complete/dotnet/sources
|
||||||
|
./prep.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
On arm64, please use `./prep.sh --bootstrap` instead. This issue is being tracked [here](https://github.com/dotnet/source-build/issues/2758).
|
||||||
|
|
||||||
|
3. Build the .NET SDK
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./build.sh --clean-while-building
|
||||||
|
```
|
||||||
|
|
||||||
|
This builds the entire .NET SDK from source.
|
||||||
|
The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-6.0.100-fedora.33-x64.tar.gz`.
|
||||||
|
|
||||||
|
Optionally add the `--online` flag to add online NuGet restore sources to the build.
|
||||||
|
This is useful for testing unsupported releases that don't yet build without downloading pre-built binaries from the internet.
|
||||||
|
|
||||||
|
Run `./build.sh --help` to see more information about supported build options.
|
||||||
|
|
||||||
|
4. (Optional) Unpack and install the .NET SDK
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p $HOME/dotnet
|
||||||
|
tar zxf artifacts/x64/Release/dotnet-sdk-6.0.100-fedora.33-x64.tar.gz -C $HOME/dotnet
|
||||||
|
ln -s $HOME/dotnet/dotnet /usr/bin/dotnet
|
||||||
|
```
|
||||||
|
|
||||||
|
To test your source-built SDK, run the following:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dotnet --info
|
||||||
|
```
|
||||||
|
|
||||||
# Build status
|
# Build status
|
||||||
|
|
||||||
|
|
|
@ -170,9 +170,9 @@
|
||||||
<Uri>https://github.com/dotnet/emsdk</Uri>
|
<Uri>https://github.com/dotnet/emsdk</Uri>
|
||||||
<Sha>52e9452f82e26f9fcae791e84c082ae22f1ef66f</Sha>
|
<Sha>52e9452f82e26f9fcae791e84c082ae22f1ef66f</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build" Version="0.1.0-alpha.1.21519.2" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build" Version="6.0.0-servicing.22320.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/source-build</Uri>
|
<Uri>https://github.com/dotnet/source-build</Uri>
|
||||||
<Sha>10d0f7e94aa45889155c312f51cfc01bf326b853</Sha>
|
<Sha>126aed9b11b5aece8ebcf7bdbb82d0654206d5a4</Sha>
|
||||||
<SourceBuild RepoName="source-build" ManagedOnly="true" />
|
<SourceBuild RepoName="source-build" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Cli.CommandLine" Version="1.0.0-preview.21310.2">
|
<Dependency Name="Microsoft.DotNet.Cli.CommandLine" Version="1.0.0-preview.21310.2">
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<VersionMajor>6</VersionMajor>
|
<VersionMajor>6</VersionMajor>
|
||||||
<VersionMinor>0</VersionMinor>
|
<VersionMinor>0</VersionMinor>
|
||||||
<VersionSDKMinor>1</VersionSDKMinor>
|
<VersionSDKMinor>1</VersionSDKMinor>
|
||||||
<VersionFeature>07</VersionFeature>
|
<VersionFeature>08</VersionFeature>
|
||||||
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
|
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
|
||||||
<PreReleaseVersionLabel>servicing</PreReleaseVersionLabel>
|
<PreReleaseVersionLabel>servicing</PreReleaseVersionLabel>
|
||||||
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
|
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
|
||||||
|
@ -129,7 +129,7 @@
|
||||||
<MicrosoftDotNetCommonItemTemplates31PackageVersion>3.1.15</MicrosoftDotNetCommonItemTemplates31PackageVersion>
|
<MicrosoftDotNetCommonItemTemplates31PackageVersion>3.1.15</MicrosoftDotNetCommonItemTemplates31PackageVersion>
|
||||||
<MicrosoftDotNetCommonProjectTemplates31PackageVersion>$(MicrosoftDotNetCommonItemTemplates31PackageVersion)</MicrosoftDotNetCommonProjectTemplates31PackageVersion>
|
<MicrosoftDotNetCommonProjectTemplates31PackageVersion>$(MicrosoftDotNetCommonItemTemplates31PackageVersion)</MicrosoftDotNetCommonProjectTemplates31PackageVersion>
|
||||||
<MicrosoftDotNetTestProjectTemplates31PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates31PackageVersion>
|
<MicrosoftDotNetTestProjectTemplates31PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates31PackageVersion>
|
||||||
<AspNetCorePackageVersionFor31Templates>3.1.26</AspNetCorePackageVersionFor31Templates>
|
<AspNetCorePackageVersionFor31Templates>3.1.27</AspNetCorePackageVersionFor31Templates>
|
||||||
<MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion>3.2.1</MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion>
|
<MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion>3.2.1</MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion>
|
||||||
<!-- 3.0 Template versions -->
|
<!-- 3.0 Template versions -->
|
||||||
<MicrosoftDotnetWinFormsProjectTemplates30PackageVersion>4.8.0-rc2.19462.10</MicrosoftDotnetWinFormsProjectTemplates30PackageVersion>
|
<MicrosoftDotnetWinFormsProjectTemplates30PackageVersion>4.8.0-rc2.19462.10</MicrosoftDotnetWinFormsProjectTemplates30PackageVersion>
|
||||||
|
|
|
@ -176,6 +176,11 @@
|
||||||
Command="git submodule update --init --recursive --depth 1"
|
Command="git submodule update --init --recursive --depth 1"
|
||||||
WorkingDirectory="$(TarballRepoSourceDir)" />
|
WorkingDirectory="$(TarballRepoSourceDir)" />
|
||||||
|
|
||||||
|
<Exec
|
||||||
|
Command="git submodule foreach 'rm -rf %24%28git rev-parse --git-dir%29/objects ||:'"
|
||||||
|
WorkingDirectory="$(TarballRepoSourceDir)"
|
||||||
|
Condition="$(PreserveTarballGitFolders) != 'true'" />
|
||||||
|
|
||||||
<Exec
|
<Exec
|
||||||
Command="git config --file $(TarballRepoSourceDir)/.git/config --unset remote.origin.url"
|
Command="git config --file $(TarballRepoSourceDir)/.git/config --unset remote.origin.url"
|
||||||
WorkingDirectory="$(RepoRoot)"/>
|
WorkingDirectory="$(RepoRoot)"/>
|
||||||
|
@ -329,6 +334,8 @@
|
||||||
Overwrite="true" />
|
Overwrite="true" />
|
||||||
|
|
||||||
<MakeDir Directories="$(TarballRootDir)packages/prebuilt" />
|
<MakeDir Directories="$(TarballRootDir)packages/prebuilt" />
|
||||||
|
<!-- make sure this directory is persisted through source control, NuGet depends on it existing -->
|
||||||
|
<Exec Command="touch $(TarballRootDir)packages/prebuilt/_" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Rummel <crummel@microsoft.com>
|
||||||
|
Date: Wed, 22 Jun 2022 05:50:57 -0500
|
||||||
|
Subject: [PATCH] Enable work-tree and unsafe-paths to be able to apply in the
|
||||||
|
checked-in tarball.
|
||||||
|
|
||||||
|
---
|
||||||
|
eng/SourceBuild.props | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
|
||||||
|
index 6cc8501..a862003 100644
|
||||||
|
--- a/eng/SourceBuild.props
|
||||||
|
+++ b/eng/SourceBuild.props
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Exec
|
||||||
|
- Command="git apply --ignore-whitespace --whitespace=nowarn "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
+ Command="git --work-tree=$(RepoRoot) apply --ignore-whitespace --whitespace=nowarn --unsafe-paths "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
WorkingDirectory="$(RepoRoot)"
|
||||||
|
Condition="'@(SourceBuildPatchFile)' != ''" />
|
||||||
|
</Target>
|
|
@ -0,0 +1,23 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Rummel <crummel@microsoft.com>
|
||||||
|
Date: Wed, 22 Jun 2022 05:53:06 -0500
|
||||||
|
Subject: [PATCH] Enable work-tree and unsafe-paths to be able to apply in the
|
||||||
|
checked-in tarball.
|
||||||
|
|
||||||
|
---
|
||||||
|
eng/SourceBuild.props | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
|
||||||
|
index 903ee00..4c85819 100644
|
||||||
|
--- a/eng/SourceBuild.props
|
||||||
|
+++ b/eng/SourceBuild.props
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Exec
|
||||||
|
- Command="git apply --ignore-whitespace --whitespace=nowarn "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
+ Command="git --work-tree=$(RepoRoot) apply --ignore-whitespace --whitespace=nowarn --unsafe-paths "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
WorkingDirectory="$(RepoRoot)"
|
||||||
|
Condition="'@(SourceBuildPatchFile)' != ''" />
|
||||||
|
</Target>
|
|
@ -0,0 +1,23 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Rummel <crummel@microsoft.com>
|
||||||
|
Date: Wed, 22 Jun 2022 05:55:51 -0500
|
||||||
|
Subject: [PATCH] Enable work-tree and unsafe-paths to be able to apply in the
|
||||||
|
checked-in tarball.
|
||||||
|
|
||||||
|
---
|
||||||
|
eng/source-build/source-build.proj | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/eng/source-build/source-build.proj b/eng/source-build/source-build.proj
|
||||||
|
index cbdd6d8..a3e3d63 100644
|
||||||
|
--- a/eng/source-build/source-build.proj
|
||||||
|
+++ b/eng/source-build/source-build.proj
|
||||||
|
@@ -57,7 +57,7 @@
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Exec
|
||||||
|
- Command="git --work-tree=$(ProjectRoot) apply --ignore-whitespace --whitespace=nowarn "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
+ Command="git --work-tree=$(ProjectRoot) apply --ignore-whitespace --whitespace=nowarn --unsafe-paths "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
WorkingDirectory="$(ProjectRoot)"
|
||||||
|
Condition="'@(SourceBuildPatchFile)' != ''" />
|
||||||
|
</Target>
|
|
@ -0,0 +1,23 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Rummel <crummel@microsoft.com>
|
||||||
|
Date: Wed, 22 Jun 2022 05:57:36 -0500
|
||||||
|
Subject: [PATCH] Enable work-tree and unsafe-paths to be able to apply in the
|
||||||
|
checked-in tarball.
|
||||||
|
|
||||||
|
---
|
||||||
|
eng/SourceBuild.props | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
|
||||||
|
index b365645..36a7ba9 100644
|
||||||
|
--- a/eng/SourceBuild.props
|
||||||
|
+++ b/eng/SourceBuild.props
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Exec
|
||||||
|
- Command="git apply --ignore-whitespace --whitespace=nowarn "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
+ Command="git --work-tree=$(InnerSourceBuildRepoRoot) apply --ignore-whitespace --whitespace=nowarn --unsafe-paths "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
WorkingDirectory="$(InnerSourceBuildRepoRoot)"
|
||||||
|
Condition="'@(SourceBuildPatchFile)' != ''" />
|
||||||
|
</Target>
|
|
@ -0,0 +1,23 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Rummel <crummel@microsoft.com>
|
||||||
|
Date: Wed, 22 Jun 2022 05:59:17 -0500
|
||||||
|
Subject: [PATCH] Enable work-tree and unsafe-paths to be able to apply in the
|
||||||
|
checked-in tarball.
|
||||||
|
|
||||||
|
---
|
||||||
|
eng/SourceBuild.props | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
|
||||||
|
index 82243ab..147de20 100644
|
||||||
|
--- a/eng/SourceBuild.props
|
||||||
|
+++ b/eng/SourceBuild.props
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Exec
|
||||||
|
- Command="git apply --ignore-whitespace --whitespace=nowarn "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
+ Command="git --work-tree=$(RepoRoot) apply --ignore-whitespace --whitespace=nowarn --unsafe-paths "%(SourceBuildPatchFile.FullPath)""
|
||||||
|
WorkingDirectory="$(RepoRoot)"
|
||||||
|
Condition="'@(SourceBuildPatchFile)' != ''" />
|
||||||
|
</Target>
|
Loading…
Reference in a new issue