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

Add support for Fedora 40 #9111

Open
3 of 12 tasks
rbhanda opened this issue Jan 30, 2024 · 14 comments
Open
3 of 12 tasks

Add support for Fedora 40 #9111

rbhanda opened this issue Jan 30, 2024 · 14 comments

Comments

@rbhanda
Copy link
Contributor

rbhanda commented Jan 30, 2024

This issue is created to track progress for the work to enable Fedora 40 support for .NET 8.0, .NET 7.0 and .NET 6.0

Product and Test updates

  • [All teams] Do a compatibility check for the product with the new OS
  • [CoreCLR/CoreFX] Runtime / RID Support update
  • [Infra] Ensure that the correct Docker images used by teams are built in the dotnet-buildtools-prereqs (if applicable)
  • [Infra] Replace docker tags used in builds across repos and branches
  • [CLI team] Update CI legs to latest updated Dockerfile
  • [All teams] Update test infrastructure to support the new version
  • [Acquisition] Add support within nightly repos
  • [Acquisition] Deploy to master (GA) during next patch release cycle

Release team:

  • Notify .NET Core teams regarding new OS release
  • Update the supported OS content on GitHub and marketing sites.

Document updates:

  • Add OS prerequisites to the dependencies document
  • Update distro install page
@carlossanlop
Copy link
Member

@rbhanda Note: Starting with .NET 8.0, the RID graph is frozen. In other words, adding RIDs is currently only needed for 6.0 and 7.0.

For reference, see issue dotnet/runtime#90000 and PRs dotnet/runtime#90297 (which was merged to 8.0 before it was shipped).

@carlossanlop
Copy link
Member

The 7.0 runtime PR has been closed for the reasons described in the PR: dotnet/runtime#98079 (comment)

The 6.0 runtime PR has been merged.

@atrauzzi
Copy link

Just a note, Fedora 40 just landed! Is 8.0 available for it now?

@omajid
Copy link
Member

omajid commented Apr 23, 2024

Just a note, Fedora 40 just landed! Is 8.0 available for it now?

If you are looking for Fedora-maintained packages (ie, maintained by the Fedora .NET SIG, as opposed to Microsoft built/maintained .NET packages), .NET 6.0 and .NET 8.0 have been available in Fedora repos since 40 entered development.

$  podman run -it fedora:40                                                                                              12:14:06 [36/36]
Resolved "fedora" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)                                                                        
Trying to pull registry.fedoraproject.org/fedora:40...                                                                                                        
Getting image source signatures                                                                                                                               
Copying blob 454eac4198a0 done   |                                                                                                                            
Copying config 868a0de675 done   |                                                                                                                            
Writing manifest to image destination                                                                                                                         
[root@5cd85d831277 /]# dnf install -y dotnet-sdk-8.0                                                                                                          
Fedora 40 - x86_64                                                                                                            7.4 MB/s |  20 MB     00:02    
Fedora 40 openh264 (From Cisco) - x86_64                                                                                      2.1 kB/s | 1.8 kB     00:00    
Fedora 40 - x86_64 - Updates                                                                                                  3.6 MB/s | 2.1 MB     00:00    
...
Installed:                
  aspnetcore-runtime-8.0-8.0.3-1.fc40.x86_64      aspnetcore-targeting-pack-8.0-8.0.3-1.fc40.x86_64         dotnet-apphost-pack-8.0-8.0.3-1.fc40.x86_64     
  dotnet-host-8.0.3-1.fc40.x86_64                 dotnet-hostfxr-8.0-8.0.3-1.fc40.x86_64                    dotnet-runtime-8.0-8.0.3-1.fc40.x86_64          
  dotnet-sdk-8.0-8.0.103-1.fc40.x86_64            dotnet-targeting-pack-8.0-8.0.3-1.fc40.x86_64             dotnet-templates-8.0-8.0.103-1.fc40.x86_64      
  libicu-74.2-1.fc40.x86_64                       netstandard-targeting-pack-2.1-8.0.103-1.fc40.x86_64     

Complete!        
[root@5cd85d831277 /]# dotnet --info
.NET SDK:                                                                                                                                                     
 Version:           8.0.103                                                                                                                                   
 Commit:            6a90b4b4bc                                                                                                                                
 Workload version:  8.0.100-manifests.e99a2be4                                                                                                                
                                                                                                                                                              
Runtime Environment:                                                                                                                                          
 OS Name:     fedora                                                                                                                                          
 OS Version:  40                                                                                                                                              
 OS Platform: Linux                                                                                                                                           
 RID:         fedora.40-x64
 Base Path:   /usr/lib64/dotnet/sdk/8.0.103/                                   
                                       
.NET workloads installed:  
 Workload version: 8.0.100-manifests.e99a2be4                                  
There are no installed workloads to display.                                                                                                                  
                                                                                                                                                              
Host:                                                                                                                                                         
  Version:      8.0.3                                                                                                                                         
  Architecture: x64                                                                                                                                           
  Commit:       9f4b1f5d66                                                                                                                                    
                                                                                                                                                              
.NET SDKs installed:                                                                                                                                          
  8.0.103 [/usr/lib64/dotnet/sdk]                                                                                                                             
                                                                                                                                                              
.NET runtimes installed:                                                                                                                                      
  Microsoft.AspNetCore.App 8.0.3 [/usr/lib64/dotnet/shared/Microsoft.AspNetCore.App]                                                                          
  Microsoft.NETCore.App 8.0.3 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]                                                                                

Other architectures found:
  None                                                                                                                                                        
                                                                                                                                                              
Environment variables:                                                                                                                                        
  Not set                                                                                                                                                     

global.json file:
  Not found                         
                                       
Learn more:                
  https://aka.ms/dotnet/info  
                                                                               
Download .NET:                         
  https://aka.ms/dotnet/download

@atrauzzi
Copy link

Nice! Does Microsoft maintain a first-party .NET fedora package repo?

@inntran
Copy link

inntran commented Apr 26, 2024

Nice! Does Microsoft maintain a first-party .NET fedora package repo?

Yes, it does.
https://packages.microsoft.com/config/fedora/40/
https://packages.microsoft.com/fedora/40/prod/

@inntran
Copy link

inntran commented Apr 26, 2024

@rbhanda I have a question regarding the versioning.
As of today(4/26/2024), Microsoft packaged dotnet-8.0 packages on packages.microsoft.com have version number 8.0.4-1. The Fedora 40's dotnet-8.0 packages have version number 8.0.4-1.fc40, and DNF would see Fedora ones newer than Microsoft's ones, is that a desired/expected behavior?

In dotnet --info outputs, Commit ID of the "Host" section are the same, 2d7eea2529. But in the .NET SDK section, Microsoft packaged one is returning version 8.0.204, with commit ID c338c7548c, Fedora's is returning version 8.0.104 with commit ID 034f91fcc0.

@omajid
Copy link
Member

omajid commented Apr 26, 2024

@inntran I recommend against any mixing of Fedora-built and Microsoft-built packages of .NET.

You should enable the Microsoft repository, and disable fetching any dotnet packages from Fedora. Or you should disable the Microsoft repository and only use dotnet packages from Fedora. Having both enabled will pull down some packages from each repo - as you discovered - which will result in a broken .NET installation.

We have some steps on how to do that here: https://learn.microsoft.com/en-us/dotnet/core/install/linux-package-mixup?pivots=os-linux-redhat

@omajid
Copy link
Member

omajid commented Apr 29, 2024

PR for docs: dotnet/docs#40659

@mdx0111
Copy link

mdx0111 commented May 14, 2024

I thought it might help to say if I install .NET 8.0 on Fedora 40 from Microsoft's repository and not the Fedora-maintained repos, I get the following message when running a dotnet command (e.g. dotnet new) :

You must install or update .NET to run this application.

App: /usr/share/dotnet/sdk/8.0.300/dotnet.dll
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '8.0.5' (x64)
.NET location: /usr/share/dotnet/

The following frameworks were found:
  8.0.4 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Learn more:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=8.0.5&arch=x64&rid=linux-x64&os=fedora.40

@omajid
Copy link
Member

omajid commented May 14, 2024

@mdx0111
Copy link

mdx0111 commented May 14, 2024

@mdx0111 That issue is https://learn.microsoft.com/en-us/dotnet/core/install/linux-package-mixup?pivots=os-linux-redhat again.

@omajid I don't think so as I have excluded Fedora maintained .NET packages altogether.

@omajid
Copy link
Member

omajid commented May 14, 2024

@mdx0111 Hm. Can you run a sudo dnf upgrade --refresh? I think you might have picked up a newer sdk but not the newer runtime from the Microsoft packages repo.

@mdx0111
Copy link

mdx0111 commented May 15, 2024

@mdx0111 Hm. Can you run a sudo dnf upgrade --refresh? I think you might have picked up a newer sdk but not the newer runtime from the Microsoft packages repo.

@omajid Thanks for the help! That's all sorted now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants