dotnet / source-build

A repository to track efforts to produce a source tarball of the .NET Core SDK and all its components
MIT License
266 stars 132 forks source link

system-libs default [.NET 10] #4625

Open tmds opened 1 week ago

tmds commented 1 week ago

Currently the vmr defaults to build with bundled libs.

To fix an issue in .NET 9 we switched to use system brotli in https://github.com/dotnet/runtime/pull/107225 and in https://github.com/dotnet/runtime/pull/107166 we're switching back to bundled for .NET 10.

If there is a set of libraries that maintainers will likely prefer to use from the system, it would be nice if the vmr would default to those for "non-portable, source-only" builds.

I assume that brotli is one of those because there was zero objection to switch to the system brotli in https://github.com/dotnet/runtime/issues/107020.

cc @MichaelSimons @omajid @jkotas @dotnet/distro-maintainers

jkotas commented 1 week ago

Does it make more sense to hardcode this default in the dotnet/runtime repo or in the top-level VMR script?

tmds commented 1 week ago

It would be the default value of the argument that is settable on the vmr build script.

For convenience, it would be nice if we make runtime use the same system libs by default when building it non-portable.

jkotas commented 1 week ago

For convenience, it would be nice if we make runtime use the same system libs by default when building it non-portable.

It would mean to hardcode this default in dotnet/runtime repo. If the default is hardcoded in dotnet/runtime repo, is there anything else needed?

tmds commented 1 week ago

No. The runtime can use the default when nothing is set explicitly.

A user will have to look in the runtime sources to know what the default means.

MichaelSimons commented 6 days ago

[Triage] If the default is to use the system-libs, we need to support scenarios where a distro doesn't have all of the required system libs (e.g. there has to be a granular opt out mechanism). I would like more feedback from @dotnet/distro-maintainers on this. What behavior would they like to see?