dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.97k stars 4.66k forks source link

Ensure positive experience for .NET acquisition using Linux package managers #54519

Open NikolaMilosavljevic opened 3 years ago

NikolaMilosavljevic commented 3 years ago

Situation

Customers rely on timely and constant availability of .NET's RPM and DEB packages on packages.microsoft.com.

Any disruption in access, delay in delivery or issues with content, creates unmeasurable impact to our customers.

Examples of issues we've seen in the past: 1) some mirrors had stale or incomplete packages, 2) stale index, 3) partial release and missing dependencies. 4) SxS install of .NET preview releases, alongside repo-built packages, see: https://github.com/dotnet/runtime/issues/47500

Objective

Ensure we have testable processes in place for all stages of the release, and tests are executed with each release and package updates.

Ensure that all mirrors are consistent and there is an easy way of validating this.

Ensure that .NET package set, on packages.microsoft.com, is complete, for all supported platforms.

Execution

Using following metrics, determine areas for improvements, create proposals and prototypes and schedule implementations.

Metrics:

dotnet-issue-labeler[bot] commented 3 years ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

MichaelSimons commented 2 years ago

One suggestion to investigate is mentioned here which describes how YUM supports excludes when registering a feed

echo 'excludepkgs=dotnet*,aspnet*,netstandard*' | sudo tee -a /etc/yum.repos.d/microsoft-prod.repo
sudo dnf remove 'dotnet*' 'aspnet*' 'netstandard*'
sudo dnf install dotnet-sdk-5.0