Skip to content

desktops: drop plucky and questing release blocks#849

Merged
igorpecovnik merged 5 commits intomainfrom
drop-plucky-questing
Apr 13, 2026
Merged

desktops: drop plucky and questing release blocks#849
igorpecovnik merged 5 commits intomainfrom
drop-plucky-questing

Conversation

@igorpecovnik
Copy link
Copy Markdown
Member

Summary

plucky (Ubuntu 25.04) is eos as of 2026-01-25 — see armbian/build#9657 where we flipped its support flag. The audit script already excludes eos releases from "missing", but it does not auto-remove existing entries; those just sit as drift across every DE YAML.

questing (Ubuntu 25.10) is a 9-month interim release with about 3 months of life left (EOL ~2026-07). Rare on real boards and not worth the per-release maintenance overhead.

This sweep removes both from every desktop YAML.

Dropped

file what
common.yaml browser map (plucky, questing); tier_overrides.mid loupe blocks (plucky, questing); tier_overrides.full thunderbird blocks (plucky, questing)
xfce.yaml, gnome.yaml, kde-plasma.yaml, kde-neon.yaml, mate.yaml, cinnamon.yaml, i3-wm.yaml, xmonad.yaml, enlightenment.yaml, budgie.yaml, deepin.yaml plucky: and questing: release blocks

bianbu.yaml was already noble+resolute only — nothing to drop there.

Comments mentioning plucky/questing as historical context (e.g. "pavumeter dropped in plucky") are kept as reference.

Knock-on

  • armbian/os#444 drops the questing aptly configs (chromium-aarch64-questing.conf, firefox-questing.conf, thunderbird-questing.conf) since this PR removes their consumer.

Stack

Built on top of armbian/configng#848 (apt.armbian.com browser routing). Will rebase cleanly when #848 merges.

Test plan

  • parse_desktop_yaml.pyDESKTOP_SUPPORTED="yes" for every kept release × arch on xfce; "no" for plucky/questing
  • All 12 DE YAML files still parse (sanity ran across the matrix)
  • Audit workflow on next run does not report plucky as a missing release (it's eos, already excluded)
  • No remaining build/CI matrix references to plucky/questing in configng

apt.armbian.com hosts real .debs of chromium / firefox /
google-chrome-stable, so the existing browser virtual token can
point straight at them — no need for a separate package list or
temp-source juggling.

- common.yaml `browser:` map: amd64 every release -> google-chrome-
  stable. Ubuntu releases (jammy/noble/plucky/questing/resolute)
  switch arm64/armhf to chromium and riscv64 to firefox (real .debs
  from apt.armbian.com instead of the previous epiphany-browser
  fallback). Debian rules unchanged (chromium / firefox-esr).
- common.yaml `full.packages` += code (vscode from apt.armbian.com,
  universal across arches).

Schema extension (kept for future use):

- _apply_tier_overrides() now honours per-arch / per-release-per-arch
  `packages:` ADDS in addition to the existing `packages_remove`.
  Symmetric with the top-level tier block. Not used by this commit
  (the browser token is the cleaner place for browser substitution),
  but available when a future change needs an arch-only addition
  that isn't a browser.

Smoke-tested across xfce {trixie,noble} {amd64,arm64,riscv64}
{minimal,mid,full} plus bookworm/riscv64 (browser dropped — no
riscv64 port) and sid/loong64 (firefox-esr — chromium not built).
apt.armbian.com hosts both: armbian-imager (universal) and a real
thunderbird .deb that wins by version against Ubuntu's snap-shim
package on amd64/arm64. The previous tier_overrides stripped
thunderbird on every Ubuntu arch out of caution about the snap-shim.

- common.yaml `mid.packages` += armbian-imager (SD-card flasher,
  universal — apt.armbian.com builds for every arch we ship).
- common.yaml `tier_overrides.full.releases.<release>.architectures`
  for noble/plucky/jammy/questing/resolute: drop the amd64 + arm64
  thunderbird strips. Keep armhf + riscv64 strips since the original
  comment notes the upstream Ubuntu deb is missing on those arches
  and we don't (yet) ship them via apt.armbian.com — the audit will
  catch any false positive on the next run.

Debian armhf strips (bookworm, trixie, forky, sid) untouched —
those are Debian-side gaps, unrelated to the snap-shim issue.

Smoke-tested across xfce {noble,trixie} {amd64,arm64,armhf,riscv64}
{mid,full}: amd64 keeps chrome+thunderbird, arm64 keeps chromium+
thunderbird, armhf keeps chromium (no thunderbird), riscv64 keeps
firefox (no thunderbird), armbian-imager present on every mid+.
plucky (Ubuntu 25.04) is eos as of 2026-01-25 — see
armbian/build#9657 where we flipped its support flag. The audit
script already excludes eos releases from the missing-releases
report, but it does not auto-remove existing entries; those just
sit as drift.

questing (Ubuntu 25.10) is a 9-month interim release with about
3 months of life left (EOL ~2026-07). Rare on real boards and
not worth the per-release maintenance overhead.

Dropped:

  common.yaml
    - browser map: plucky, questing entries
    - tier_overrides.mid.releases: plucky, questing loupe blocks
    - tier_overrides.full.releases: plucky, questing thunderbird
      blocks (jammy still strips on armhf+riscv64; resolute keeps
      its strip)
  per-DE YAMLs (11 files): plucky and questing release blocks

Bianbu was already noble+resolute only; nothing to drop there.
Comments mentioning plucky/questing as historical context (e.g.
"pavumeter dropped in plucky") are kept — those are reference,
not active config.

Verified DESKTOP_SUPPORTED="yes" still for every kept release/arch
combo on xfce; "no" for plucky/questing as expected.

Knock-on: armbian/os#444 will drop the questing aptly configs
(chromium-aarch64-questing.conf, firefox-questing.conf,
thunderbird-questing.conf) since this PR removes their consumer.
@github-actions github-actions Bot added 05 Milestone: Second quarter release size/large PR with 250 lines or more labels Apr 13, 2026
Two real (release, arch) gaps for `code` (Microsoft VSCode) that
the apt.armbian.com expansion (armbian/os#444) doesn't fill:

- `riscv64` every release — Microsoft publishes no riscv64 build
  upstream, so apt.armbian.com cannot mirror one. Permanent
  arch-wide hole; uses the per-arch tier_overrides layer.
- `sid` every arch — Debian unstable is intentionally not tracked
  in apt.armbian.com (vendor debs may break against rolling base).
  Per-release strip across all four arches.

The other combos a code-review bot flagged (forky/jammy/resolute
for `code`; jammy/resolute amd64+arm64 for `thunderbird`) are
either covered by armbian/os#444 (apt.armbian.com expansion) or
already removed in #849 (plucky/questing drop) —
no further YAML changes needed for them. The BSP pin file at
packages/bsp/common/etc/apt/preferences.d/armbian forces
o=Armbian to priority 1001 over Ubuntu's 50, so the real apt.
armbian.com .debs win on every release/arch where they exist.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 13, 2026

Walkthrough

This pull request updates the desktop module system across multiple files. The main changes include: (1) enhancing the _apply_tier_overrides() function in the Python script to read and aggregate packages from both per-architecture and per-release-per-arch layers in tier override configurations; (2) removing plucky release entries from nine desktop YAML files and questing entries from eight files; (3) updating the common desktop configuration to add armbian-imager and code packages to specific tiers, and modifying browser substitution mappings and tier override rules for multiple releases.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'desktops: drop plucky and questing release blocks' directly and clearly summarizes the main change: removing plucky and questing release configurations across desktop YAML files.
Description check ✅ Passed The description provides comprehensive context about why plucky and questing are being removed (EOL/maintenance burden) and documents all files affected, changes made, knock-on effects, and test results.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch drop-plucky-questing

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
tools/modules/desktops/yaml/common.yaml (1)

240-248: Minor redundancy: riscv64 code removal is specified twice.

The code package is removed for riscv64 both arch-wide (line 207) and again in the sid release block (line 248). The arch-wide removal already covers all releases including sid, making the sid-specific riscv64 entry redundant. This is harmless but could be cleaned up for clarity.

🔧 Optional cleanup
       sid:
         # thunderbird is missing on sid/armhf — same gap as trixie/forky.
         # `code` is not tracked for sid in apt.armbian.com (Debian unstable;
         # vendor debs may break) — strip on every sid arch.
         architectures:
           amd64:    { packages_remove: [code] }
           arm64:    { packages_remove: [code] }
           armhf:    { packages_remove: [code, thunderbird] }
-          riscv64:  { packages_remove: [code] }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tools/modules/desktops/yaml/common.yaml` around lines 240 - 248, Remove the
redundant riscv64 packages_remove: [code] entry from the sid release block since
the arch-wide removal already strips "code" for riscv64; locate the "sid"
mapping under "architectures" in this YAML (the riscv64 key with
packages_remove: [code]) and delete that line/entry so riscv64 is only
configured once via the arch-wide rule, leaving sid entries for other unique
removals (e.g., armhf thunderbird) intact.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@tools/modules/desktops/yaml/common.yaml`:
- Around line 240-248: Remove the redundant riscv64 packages_remove: [code]
entry from the sid release block since the arch-wide removal already strips
"code" for riscv64; locate the "sid" mapping under "architectures" in this YAML
(the riscv64 key with packages_remove: [code]) and delete that line/entry so
riscv64 is only configured once via the arch-wide rule, leaving sid entries for
other unique removals (e.g., armhf thunderbird) intact.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8d95b7ae-0999-49fb-8384-15729c8e1693

📥 Commits

Reviewing files that changed from the base of the PR and between 57a7243 and 5d19328.

📒 Files selected for processing (13)
  • tools/modules/desktops/scripts/parse_desktop_yaml.py
  • tools/modules/desktops/yaml/budgie.yaml
  • tools/modules/desktops/yaml/cinnamon.yaml
  • tools/modules/desktops/yaml/common.yaml
  • tools/modules/desktops/yaml/deepin.yaml
  • tools/modules/desktops/yaml/enlightenment.yaml
  • tools/modules/desktops/yaml/gnome.yaml
  • tools/modules/desktops/yaml/i3-wm.yaml
  • tools/modules/desktops/yaml/kde-neon.yaml
  • tools/modules/desktops/yaml/kde-plasma.yaml
  • tools/modules/desktops/yaml/mate.yaml
  • tools/modules/desktops/yaml/xfce.yaml
  • tools/modules/desktops/yaml/xmonad.yaml
💤 Files with no reviewable changes (11)
  • tools/modules/desktops/yaml/kde-neon.yaml
  • tools/modules/desktops/yaml/deepin.yaml
  • tools/modules/desktops/yaml/budgie.yaml
  • tools/modules/desktops/yaml/mate.yaml
  • tools/modules/desktops/yaml/gnome.yaml
  • tools/modules/desktops/yaml/cinnamon.yaml
  • tools/modules/desktops/yaml/kde-plasma.yaml
  • tools/modules/desktops/yaml/enlightenment.yaml
  • tools/modules/desktops/yaml/xmonad.yaml
  • tools/modules/desktops/yaml/xfce.yaml
  • tools/modules/desktops/yaml/i3-wm.yaml

@igorpecovnik
Copy link
Copy Markdown
Member Author

@copilot resolve the merge conflicts in this pull request

Co-authored-by: igorpecovnik <6281704+igorpecovnik@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 13, 2026

@copilot resolve the merge conflicts in this pull request

Resolved in a2e7524. The conflict was in common.yamlorigin/main still had plucky: and questing: entries in the browser: map and tier_overrides.full thunderbird blocks. Kept our branch's version (those entries removed) and created a merge commit on top.

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

Labels

05 Milestone: Second quarter release size/large PR with 250 lines or more

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants