Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 922930 - dev-dotnet/dotnet-sdk-bin multiple SDKs (enhancement)
Summary: dev-dotnet/dotnet-sdk-bin multiple SDKs (enhancement)
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: dotnet project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-25 23:07 UTC by ZappeL
Modified: 2024-01-27 13:49 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ZappeL 2024-01-25 23:07:21 UTC
Hi,

As far as I got it correctly, the upstream dotnet-sdk-bin does not provide any simultaniously use of any other SDK nor RT at the same time (other then installing it manually). Same thing for legacy versions, like dotnetcore 2.1 and dotnetcore 3.1 .. 

May I somehow contribute to this project(gentoo/dotnet), as I'm maintaing my own gentoo-dotnet repo now for years to exactly fill this gap.

If you're interested in my work (especially porting my stuff to be upstream compatible), please see my current repo-branch: https://lab.simple-co.de/zappel/zDotnet/-/tree/zpl/dotnet_rework

That repo/branch is where I currently try to add the missing shares with a seperate ebuild (dev-dotnet/dotnet-sdk-shared) to the installed ones..

The result then, for example, looks like:

Host:
  Version:      8.0.1
  Architecture: x64
  Commit:       bf5e279d92

.NET SDKs installed:
  3.1.426 [/opt/dotnet-sdk-bin-8.0/sdk]
  5.0.408 [/opt/dotnet-sdk-bin-8.0/sdk]
  6.0.418 [/opt/dotnet-sdk-bin-8.0/sdk]
  7.0.404 [/opt/dotnet-sdk-bin-8.0/sdk]
  8.0.101 [/opt/dotnet-sdk-bin-8.0/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 3.1.32 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.17 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.26 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.14 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.1 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.32 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.17 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.26 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.14 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.1 [/opt/dotnet-sdk-bin-8.0/shared/Microsoft.NETCore.App]

Please tell me if something like this is wanted and how exactly I can contribute to this without beeing an official gentoo-dev ..


Cheers! :)
Comment 1 Maciej Barć gentoo-dev 2024-01-26 09:26:20 UTC
Hello!

This is very interesting work. I was thinking of starting a simialr approach - linking all sdks post-install into a shared dir.

I do not think it should be a package, but rather a tool thta will pick the newest SDKs and create links.

> As far as I got it correctly, the upstream dotnet-sdk-bin does not provide any simultaniously use of any other SDK nor RT at the same time (other then installing it manually). 

Yes, currently that is true.

> Same thing for legacy versions, like dotnetcore 2.1 and dotnetcore 3.1 .. 

We only support >=6.0, let's focus on that.

> I'm maintaing my own gentoo-dotnet repo now for years to exactly fill this gap.

I have looked into your repo, please revise some packages you have there as they are already in :gentoo, eg. powershell.
Comment 2 ZappeL 2024-01-26 10:03:55 UTC
Many Thanks for your feedback!

> I do not think it should be a package, but rather a tool thta will pick the
> newest SDKs and create links.
That would be awsome!


> We only support >=6.0, let's focus on that.
Sure! I must keep those versions for myself as I've to deal with that legacy things for my work (and no, I personally don't like to carry those). 


> I have looked into your repo, please revise some packages you have there as
> they are already in :gentoo, eg. powershell.
Yep, I'm still in the process of cleaning it up and getting it in sync/compatible to :gentoo. (so pls ignore the doubled ebuilds ;-))


IMHO: Another enhancement might be to add subslotting the dotnet-runtime-nugets so they can be bound to the dotnet-sdk[-bin] packages as a dependency without 100% version matching (which should lower the maintainence effort on older ebuilds). Here is an example: https://lab.simple-co.de/zappel/zDotnet/-/blob/zpl/dotnet_rework/dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-8.0.1.ebuild#L38 and https://lab.simple-co.de/zappel/zDotnet/-/blob/zpl/dotnet_rework/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.101-r2.ebuild#L40 


Let me know if I can assist/contribute somehow. (and yes I'd like to become a gentoo-dev but I didn't found a mentor yet..)
Comment 3 Maciej Barć gentoo-dev 2024-01-26 20:27:06 UTC
> IMHO: Another enhancement might be to add subslotting the
> dotnet-runtime-nugets so they can be bound to the dotnet-sdk[-bin] packages
> as a dependency without 100% version matching (which should lower the
> maintainence effort on older ebuilds). Here is an example:
> https://lab.simple-co.de/zappel/zDotnet/-/blob/zpl/dotnet_rework/dev-dotnet/
> dotnet-runtime-nugets/dotnet-runtime-nugets-8.0.1.ebuild#L38 and
> https://lab.simple-co.de/zappel/zDotnet/-/blob/zpl/dotnet_rework/dev-dotnet/
> dotnet-sdk-bin/dotnet-sdk-bin-8.0.101-r2.ebuild#L40 

The problem here is that we need the 100% version match since that is what .NET pkgs require to build. So we just can not swap to slot like https://lab.simple-co.de/zappel/zDotnet/-/blob/zpl/dotnet_rework/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.101-r2.ebuild#L40

> Let me know if I can assist/contribute somehow. (and yes I'd like to become
> a gentoo-dev but I didn't found a mentor yet..)

I could be your mentor but we would have to work more together first.
I would encourage you to make pull requests on the gentoo/gentoo GitHub repo for .NET packages that you need and eventually becoming a proxied maintainer (I'm not sure you already are one).

We have a #gentoo-dotnet IRC channel so we can discuss .NET, Gentoo and organizational issues there.
Comment 4 ZappeL 2024-01-27 13:49:35 UTC
> I could be your mentor but we would have to work more together first.
> I would encourage you to make pull requests on the gentoo/gentoo GitHub repo
> for .NET packages that you need and eventually becoming a proxied maintainer
> (I'm not sure you already are one).
> 
> We have a #gentoo-dotnet IRC channel so we can discuss .NET, Gentoo and
> organizational issues there.

I reall appreciate your offer(about metorship). Sadly I can't do this before Monday as I'm currently on a short weekend-trip. ;-)
But I'm going to join the IRC as soon as possible and get in touch with you.


Have a nice weekend!