Skip to content

Commit 6e8dfc3

Browse files
richlanderCopilot
andcommitted
Document Ubuntu backports prerequisite
Add software-properties-common to the Ubuntu backports setup command and explain why it is needed in minimal/container environments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 826a6bd commit 6e8dfc3

3 files changed

Lines changed: 43 additions & 43 deletions

File tree

.github/skills/update-distro-packages/SKILL.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,7 @@ Omit `min_version` and `references` when null/empty.
9898
```json
9999
{
100100
"channel_version": "11.0",
101-
"distros": [
102-
"alpine.json",
103-
"azure_linux.json",
104-
"ubuntu.json"
105-
]
101+
"distros": ["alpine.json", "azure_linux.json", "ubuntu.json"]
106102
}
107103
```
108104

@@ -141,10 +137,8 @@ Optional fields on each release (populated by package availability queries):
141137
],
142138
"dotnet_packages_other": {
143139
"backports": {
144-
"install_command": "sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update",
145-
"packages": [
146-
{ "component": "sdk", "name": "dotnet-sdk-11.0" }
147-
]
140+
"install_command": "sudo apt-get install -y software-properties-common && sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update",
141+
"packages": [{ "component": "sdk", "name": "dotnet-sdk-11.0" }]
148142
}
149143
}
150144
}
@@ -269,8 +263,14 @@ The output file has this structure:
269263
"feeds": {
270264
"builtin": [
271265
{ "component_id": "sdk", "package_name": "dotnet-sdk-10.0" },
272-
{ "component_id": "runtime", "package_name": "dotnet-runtime-10.0" },
273-
{ "component_id": "aspnetcore-runtime", "package_name": "aspnetcore-runtime-10.0" }
266+
{
267+
"component_id": "runtime",
268+
"package_name": "dotnet-runtime-10.0"
269+
},
270+
{
271+
"component_id": "aspnetcore-runtime",
272+
"package_name": "aspnetcore-runtime-10.0"
273+
}
274274
],
275275
"backports": [
276276
{ "component_id": "sdk", "package_name": "dotnet-sdk-10.0" }
@@ -292,10 +292,10 @@ For each distro+release in the query results, match it to the corresponding per-
292292

293293
Field mapping from query → per-distro file:
294294

295-
| Query field | Per-distro field |
296-
|-------------|-----------------|
297-
| `component_id` | `component` |
298-
| `package_name` | `name` |
295+
| Query field | Per-distro field |
296+
| -------------- | ---------------- |
297+
| `component_id` | `component` |
298+
| `package_name` | `name` |
299299

300300
Every `dotnet_packages_other` entry **must** include an `install_command` — the command to register that feed before packages can be installed. See [Known alternative feed commands](#known-alternative-feed-commands) for the values to use.
301301

@@ -324,7 +324,7 @@ Then `ubuntu.json` release 24.04 becomes:
324324
],
325325
"dotnet_packages_other": {
326326
"backports": {
327-
"install_command": "sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update",
327+
"install_command": "sudo apt-get install -y software-properties-common && sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update",
328328
"packages": [
329329
{ "component": "sdk", "name": "dotnet-sdk-10.0" }
330330
]
@@ -425,10 +425,10 @@ When packages come from a non-builtin feed, the `install_command` field tells us
425425
Feed name: `backports`
426426

427427
```bash
428-
sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update
428+
sudo apt-get install -y software-properties-common && sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update
429429
```
430430

431-
This PPA provides .NET packages for older Ubuntu LTS releases that don't carry .NET in the default archive. After registering, packages are installed with the normal `apt-get install` command.
431+
This PPA provides .NET packages for older Ubuntu LTS releases that don't carry .NET in the default archive. `add-apt-repository` comes from `software-properties-common`, which is often missing in containers and other minimal environments. After registering, packages are installed with the normal `apt-get install` command.
432432

433433
### Microsoft packages.microsoft.com (PMC)
434434

@@ -459,10 +459,10 @@ If the query returns a feed name not listed above, ask the user for the registra
459459

460460
The `name` fields (both top-level distro name and per-release names) must use full display names, **never acronyms**. These names appear in generated markdown and user-facing documentation.
461461

462-
| ❌ Acronym | ✅ Full display name |
463-
|-----------|----------------------|
464-
| RHEL | Red Hat Enterprise Linux |
465-
| SLES | SUSE Linux Enterprise Server |
462+
| ❌ Acronym | ✅ Full display name |
463+
| ---------- | ---------------------------- |
464+
| RHEL | Red Hat Enterprise Linux |
465+
| SLES | SUSE Linux Enterprise Server |
466466

467467
**Examples:**
468468

release-notes/10.0/distros/ubuntu.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@
211211
"name": "dotnet-aspnetcore-runtime-10.0"
212212
}
213213
],
214-
"install_command": "sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update"
214+
"install_command": "sudo apt-get install -y software-properties-common && sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update"
215215
}
216216
}
217217
}

release-notes/10.0/dotnet-packages.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22

33
.NET 10.0 is available in the package feeds of the following Linux distributions.
44

5-
| Distribution | Version | Feed |
6-
| ------------ | ------- | ---- |
7-
| Alpine | Alpine edge | Built-in |
8-
| Alpine | Alpine 3.23 | Built-in |
9-
| Arch Linux | Arch Linux (rolling) | Built-in, AUR |
10-
| CentOS Stream | CentOS Stream 10 | Built-in |
11-
| CentOS Stream | CentOS Stream 9 | Built-in |
12-
| Fedora | Fedora 44 | Built-in |
13-
| Fedora | Fedora 43 | Built-in |
14-
| Fedora | Fedora 42 | Built-in |
15-
| Homebrew | Homebrew (rolling) | Built-in, Cask |
16-
| NixOS | NixOS 25.11 | Built-in |
17-
| RHEL | RHEL 10 | Built-in |
18-
| RHEL | RHEL 9 | Built-in |
19-
| RHEL | RHEL 8 | Built-in |
20-
| Ubuntu | Ubuntu 26.04 LTS (Resolute Raccoon) | Built-in |
21-
| Ubuntu | Ubuntu 25.10 (Questing Quokka) | Built-in |
22-
| Ubuntu | Ubuntu 24.04 (Noble Numbat) | Built-in |
23-
| Ubuntu | Ubuntu 22.04.4 LTS (Jammy Jellyfish) | Backports PPA |
5+
| Distribution | Version | Feed |
6+
| ------------- | ------------------------------------ | -------------- |
7+
| Alpine | Alpine edge | Built-in |
8+
| Alpine | Alpine 3.23 | Built-in |
9+
| Arch Linux | Arch Linux (rolling) | Built-in, AUR |
10+
| CentOS Stream | CentOS Stream 10 | Built-in |
11+
| CentOS Stream | CentOS Stream 9 | Built-in |
12+
| Fedora | Fedora 44 | Built-in |
13+
| Fedora | Fedora 43 | Built-in |
14+
| Fedora | Fedora 42 | Built-in |
15+
| Homebrew | Homebrew (rolling) | Built-in, Cask |
16+
| NixOS | NixOS 25.11 | Built-in |
17+
| RHEL | RHEL 10 | Built-in |
18+
| RHEL | RHEL 9 | Built-in |
19+
| RHEL | RHEL 8 | Built-in |
20+
| Ubuntu | Ubuntu 26.04 LTS (Resolute Raccoon) | Built-in |
21+
| Ubuntu | Ubuntu 25.10 (Questing Quokka) | Built-in |
22+
| Ubuntu | Ubuntu 24.04 (Noble Numbat) | Built-in |
23+
| Ubuntu | Ubuntu 22.04.4 LTS (Jammy Jellyfish) | Backports PPA |
2424

2525
## Alpine
2626

@@ -218,7 +218,7 @@ sudo apt-get install -y \
218218
Register the feed:
219219

220220
```bash
221-
sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update
221+
sudo apt-get install -y software-properties-common && sudo add-apt-repository ppa:dotnet/backports && sudo apt-get update
222222
```
223223

224224
```bash

0 commit comments

Comments
 (0)