Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Describe platform dependencies #5646

Closed
Tracked by #5651
mthalman opened this issue Nov 23, 2020 · 2 comments
Closed
Tracked by #5651

Describe platform dependencies #5646

mthalman opened this issue Nov 23, 2020 · 2 comments
Labels
User Story A single user-facing feature. Can be grouped under an epic.

Comments

@mthalman
Copy link
Member

mthalman commented Nov 23, 2020

Summary

Provides a uniform description of all platform dependencies for .NET. This is the basis for all of the other user stories in this epic. It collects the dependency data into a machine-readable format that serves as the complete database for reasoning about .NET's dependencies.

Goal

.NET contributors can describe the product's platform dependencies -- both runtime and source build toolset -- in a common format that can be used to satisfy other dependent workflows that require the data.

@mthalman mthalman added the User Story A single user-facing feature. Can be grouped under an epic. label Nov 23, 2020
@mthalman
Copy link
Member Author

mthalman commented Jan 8, 2021

A big question here is the granularity of the dependency. In the case of Linux, you could describe dependencies in terms of which packages are needed. However, there are some scenarios where that can be overly broad.

For example, in .NET 5.0, dotnet watch has a dependency on pgrep (see dotnet/dotnet-docker#2396). That utility is part of the procps package. In Alpine, pgrep comes pre-installed but the procps package is not. So it's not accurate to say that procps is a requirement for dotnet watch in Alpine. A more granular way would be to say that it requires just the pgrep utility and not even describe it in terms of packages.

Maybe cases where a required component comes pre-installed in the operating system do not need to be described here. It's not really actionable information when configuring what to install into an environment. Although, perhaps it is necessary from the standpoint of knowing what can be removed from an environment.

@mthalman
Copy link
Member Author

Runtime platform dependency model for .NET 6 has been defined: #6170

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
User Story A single user-facing feature. Can be grouped under an epic.
Projects
None yet
Development

No branches or pull requests

1 participant