A few things to make clear regarding packaging.
-
What are we packaging? A single package that contains everything, or two or even three separate packages? (host, framework...)
-
How do we call it? There are debian based packages with naming as dotnet-host, dotnet-hostfxr, dotnet-sharedframework. Now imagine dnf install or apt-get install - what would the user install when, which takes me to my next question...
-
What are the dependencies of these packages, which would depend on which one?
-
How do we version it? What would our packages be when it comes to versions? Using the above dotnet-host as example: dotnet-host-1.0
-
And how can user combine versions/whatever at the same time? Say Bob has sdk 1.1 some time in the future, and wishes to be able to target framework 1.0 and 1.1. Our understanding is that Bob would have to install a package for said sdk, which as such would have only the latest framework as dependency (or not even that) and Bob would have to optionally add whatever other framework he would like to publish for.
-
Bonus question. Where does our (packagers) responsibility start? Say we will have to fix something our-distro-specific and pushing it upstream is not good enough. Say we need the fix ASAP. We can of course build it ourselves with the fix, and we would, but what about nuget packages that do not contain this fix, if someone would be targeting their application for our distro, from some other platform? Can we be responsible for this somehow, can we get the fix in faster than with next whatever update in a few months?
Last but not least, I would like to suggest that these could be compiled into nice packaging guidelines for all the various Linux distributions out there.
cc @Fedora-dotnet @omajid @tmds @nmilosev
(I hope that I got everything covered and didn't mix my notes up, please correct me if so...)
A few things to make clear regarding packaging.
What are we packaging? A single package that contains everything, or two or even three separate packages? (host, framework...)
How do we call it? There are debian based packages with naming as dotnet-host, dotnet-hostfxr, dotnet-sharedframework. Now imagine
dnf installorapt-get install- what would the user install when, which takes me to my next question...What are the dependencies of these packages, which would depend on which one?
How do we version it? What would our packages be when it comes to versions? Using the above dotnet-host as example:
dotnet-host-1.0And how can user combine versions/whatever at the same time? Say Bob has sdk 1.1 some time in the future, and wishes to be able to target framework 1.0 and 1.1. Our understanding is that Bob would have to install a package for said sdk, which as such would have only the latest framework as dependency (or not even that) and Bob would have to optionally add whatever other framework he would like to publish for.
Bonus question. Where does our (packagers) responsibility start? Say we will have to fix something our-distro-specific and pushing it upstream is not good enough. Say we need the fix ASAP. We can of course build it ourselves with the fix, and we would, but what about nuget packages that do not contain this fix, if someone would be targeting their application for our distro, from some other platform? Can we be responsible for this somehow, can we get the fix in faster than with next whatever update in a few months?
Last but not least, I would like to suggest that these could be compiled into nice packaging guidelines for all the various Linux distributions out there.
cc @Fedora-dotnet @omajid @tmds @nmilosev
(I hope that I got everything covered and didn't mix my notes up, please correct me if so...)