[Feature Request] Build dotnet-runtime-deps packages

Bug #2062374 reported by Dominik Viererbe
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dotnet6 (Ubuntu)
Triaged
Wishlist
Unassigned
dotnet7 (Ubuntu)
Triaged
Wishlist
Unassigned
dotnet8 (Ubuntu)
Triaged
Wishlist
Unassigned

Bug Description

Microsoft builds and recommends [1] building the packages `dotnet-runtime-deps-6.0`, `dotnet-runtime-deps-7.0`, `dotnet-runtime-deps-8.0`. These contain the dependencies needed by the .NET runtime for the specific version.

This is useful if a developer created a self contained application that is bundled with a runtime, because the bundled runtime still has dependencies [2]. Having these packages improves the developer experience, because developers do not need to install (& keep track of changes to) runtime dependencies manually.

[Implementation details]

I already looked into how we would add these packages:

- `dotnet-runtime-deps-X.0` would just be an empty package
- `dotnet-runtime-X.0` would depend on `dotnet-runtime-deps-X.0`
- the `libicuXX` depends would move to `dotnet-runtime-deps-X.0`
- We need to capture the ${shlibs:Depends} of `dotnet-runtime-X.0` and copy it

I looked up that dh_shlibdeps generates `debian/*.substvars` where * is the package name. The .substvars file will contain the substitution values. Then we just need to "smartly" copy the values over from `dotnet-runtime-X.0.substvar` into `dotnet-runtime-deps-X.0.substvar` before calling dh_gencontrol in override_dh_gencontrol.

[1] https://learn.microsoft.com/en-us/dotnet/core/distribution-packaging#recommended-packages
[2] https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install?pivots=os-linux-ubuntu-2404&tabs=dotnet8#dependencies

Changed in dotnet8 (Ubuntu):
status: New → Triaged
importance: Undecided → Wishlist
Changed in dotnet7 (Ubuntu):
status: New → Triaged
importance: Undecided → Wishlist
Changed in dotnet6 (Ubuntu):
status: New → Triaged
importance: Undecided → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.