Skip to content

Commit 15506c6

Browse files
committed
desktops: document optional repo.preferences field
Adds a row for `preferences` to the custom-repo schema table plus an explainer on priority thresholds, the generated stanza shape, and the parse_desktop_yaml.py validation behavior. Matches the configng change that introduces the field.
1 parent 9609b09 commit 15506c6

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

docs/Developer-Guide_Desktops.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,17 @@ Use the per-arch layer for permanent arch-wide holes (e.g. `blender` always miss
162162
| `url` | string | Base URL for `deb [signed-by=...] <url> <release> main`. |
163163
| `key_url` | string | URL to the GPG key (ASCII-armored). |
164164
| `keyring` | string | Path to the dearmored keyring file, e.g. `/usr/share/keyrings/neon.gpg`. |
165+
| `preferences` | list (optional) | APT pin preferences written to `/etc/apt/preferences.d/<de_name>`. Each entry needs `origin`, `suite`, and `priority` (integer). Removed on uninstall. |
166+
167+
`preferences` is rarely needed — only when a vendor archive must outrank the distro for a given `(origin, suite)` pair. Each list entry becomes one stanza:
168+
169+
```
170+
Package: *
171+
Pin: release o=<origin>, n=<suite>
172+
Pin-Priority: <priority>
173+
```
174+
175+
Priorities above 1000 let apt downgrade a package from the distro to the pinned archive's version; below 1000 only allows upgrades. Entries missing any required field are skipped with a warning from `parse_desktop_yaml.py`.
165176

166177
### Example
167178

0 commit comments

Comments
 (0)