Backport 6.0.108 to jammy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dotnet6 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
High
|
Unassigned |
Bug Description
[Impact]
We want to do an initial bootstrapping of the dotnet6 packages for jammy. It is beneficial for our latest LTS users to have access to the latest .NET stack, so the .NET team is working with the security and SRU teams on getting latest versions backported to 22.04. The initial bootstrapping is always a bit complicated, so we want to start off by doing a backport of 6.0.107 using the bootstrapping PPA. Later uploads will not require such special setup.
We did the 6.0.107 bootstrap and it looked fine, so now re-using the same bug we want to update to 6.0.108. So the initial upload to jammy-updates will be 108.
The .NET, security and SRU teams will cooperate on creating a SRU exception for these packages, with special rules tailored towards the needs of this project - with an extensive test story and steps necessary for the SRU to proceed.
[Test Case]
As this is the initial bootstrapping, we want the package to build successfully in jammy-proposed (potentially using the bootstrap archive). The packages should be installable on jammy and some basic dogfooding testing should be performed:
#0.Install dotnet: apt install dotnet6
#0.1. Check installation : dpkg -l | grep 'NET\|asp’
#1. Basic check commands: donet —info, dotnet —version, dotnet sdk check
$ dotnet —info
#Expected output is:
# .NET SDK (reflecting any global.json):
# Version: 6.0.107
# Commit: bc11e04aea
#
# Runtime Environment:
# OS Name: ubuntu
# OS Version: 22.04
# OS Platform: Linux
# RID: ubuntu.22.04-x64
# Base Path: /usr/lib/
#
# global.json file:
# Not found
#
# Host:
# Version: 6.0.7
# Architecture: x64
# Commit: 0ec02c8c96
#
# .NET SDKs installed:
# 6.0.107 [/usr/lib/
#
# .NET runtimes installed:
# Microsoft.
# Microsoft.
$ dotnet --version
#Expected output is:
# 6.0.107
$ dotnet sdk check
# Expected output is:
# .NET SDKs:
# Version Status
# -------
# 6.0.107 Up to date.
#
# Try out the newest .NET SDK features with .NET 7.0.100-
#
# .NET Runtimes:
# Name Version Status
# -------
# Microsoft.
# Microsoft.
#2. Checking console, solution and project commands
#2.1. Creating console: dotnet new console
$ dotnet new console --name Testing
#Expected output is :
# The template "Console App" was created successfully.
# Processing post-creation actions...
# Running 'dotnet restore' on /root/Testing/
# Determining projects to restore...
# Restored /root/Testing/
# Restore succeeded.
$ cd Testing/
#2.2. Creating solution: dotnet new sln
$ dotnet new sln
#Expected output is:
# The template "Solution File" was created successfully.
#2.3. Adding project to the solution: dotnet sln <sln_file> add <csproj_file>
$ dotnet sln Testing.sln add Testing.csproj
#Expected output is:
# Project `Testing.csproj` added to the solution.
#2.4. Building solution: dotnet build <sln_file>
$ dotnet build Testing.sln
#Expected output is:
# Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET
# Copyright (C) Microsoft Corporation. All rights reserved.
#
# Determining projects to restore...
# All projects are up-to-date for restore.
# Testing -> /root/Testing/
#
# Build succeeded.
# 0 Warning(s)
# 0 Error(s)
#2.5. Running solution: bin/Debug/
$ bin/Debug/
#Expected output is:
# Hello, World!
#2.6. Project that use a nuget package: dotnet add <csproj_file> package <nuget_package>
#Changing Program.Cs
$ cat <<EOF >Program.cs
using System;
using System.
using System.Linq;
using System.Text;
using System.
using Google.Apis;
namespace TestProject
{
class Program
{
static void Main(string[] args)
{
var th = new Thread(
}
private static void WaitAndPrint(
}
}
}
EOF
$ dotnet add Testing.csproj package Google.Apis
#Expected output is:
# Determining projects to restore...
# Writing /tmp/tmp6RP8i6.tmp
#info : Adding PackageReference for package 'Google.Apis' into project 'Testing.csproj'.
#info : GET https:/
#info : OK https:/
#info : Restoring packages for /root/Testing/
#info : Package 'Google.Apis' is compatible with all the specified frameworks in project 'Testing.csproj'.
#info : PackageReference for package 'Google.Apis' version '1.57.0' added to file '/root/
#info : Committing restore...
#info : Writing assets file to disk. Path: /root/Testing/
#log : Restored /root/Testing/
#2.7. Running project
$ dotnet run
#Expected output is:
# Me first!
# Finished tasks: 1
# Me second!
# Finished tasks: 2
#2.8. Removing nuget package
$ dotnet remove Testing.csproj package Google.Apis
#Expected output is:
# info : Removing PackageReference for package 'Google.Apis' from project 'Testing.csproj'.
#Checking removing is OK:
$ dotnet run
#Expected output is:
# /root/Testing/
# reference?) [/root/
#
# The build failed. Fix the build errors and run again.
[Regression Potential]
No regression potential as these packages do not exist and/or do not replace any existing packages in 22.04. Proper regression potential mitigation will be in place for the next uploads.
CVE References
Changed in dotnet6 (Ubuntu Jammy): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in dotnet6 (Ubuntu): | |
status: | New → Invalid |
tags: |
added: verification-done verification-done-jammy removed: verification-needed verification-needed-jammy |
Hello Łukasz, or anyone else affected,
Accepted dotnet6 into jammy-proposed. The package will build now and be available at https:/ /launchpad. net/ubuntu/ +source/ dotnet6/ 6.0.107- 0ubuntu2~ 22.04.1 in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification- needed- jammy to verification- done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed- jammy. In either case, without details of your testing we will not be able to proceed.
Further information regarding the verification process can be found at https:/ /wiki.ubuntu. com/QATeam/ PerformingSRUVe rification . Thank you in advance for helping!
N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.