[Bug 2062374] [NEW] [Feature Request] Build dotnet-runtime-deps packages

Dominik Viererbe 2062374 at bugs.launchpad.net
Thu Apr 18 14:27:32 UTC 2024


Public bug reported:

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

** Affects: dotnet6 (Ubuntu)
     Importance: Wishlist
         Status: Triaged

** Affects: dotnet7 (Ubuntu)
     Importance: Wishlist
         Status: Triaged

** Affects: dotnet8 (Ubuntu)
     Importance: Wishlist
         Status: Triaged

** Changed in: dotnet8 (Ubuntu)
       Status: New => Triaged

** Changed in: dotnet8 (Ubuntu)
   Importance: Undecided => Wishlist

** Also affects: dotnet7 (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: dotnet7 (Ubuntu)
       Status: New => Triaged

** Changed in: dotnet7 (Ubuntu)
   Importance: Undecided => Wishlist

** Also affects: dotnet6 (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: dotnet6 (Ubuntu)
       Status: New => Triaged

** Changed in: dotnet6 (Ubuntu)
   Importance: Undecided => Wishlist

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dotnet8 in Ubuntu.
https://bugs.launchpad.net/bugs/2062374

Title:
  [Feature Request] Build dotnet-runtime-deps packages

Status in dotnet6 package in Ubuntu:
  Triaged
Status in dotnet7 package in Ubuntu:
  Triaged
Status in dotnet8 package in Ubuntu:
  Triaged

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dotnet6/+bug/2062374/+subscriptions




More information about the foundations-bugs mailing list