Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions tools/modules/desktops/yaml/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,27 @@ tiers:
- cups-pk-helper # polkit bridge — lets GNOME/KDE printer panels
# unlock cups config without sudo. Other DEs
# get this transitively via system-config-printer.
# 3D / GPU runtime + diagnostics. Previously installed by
# armbian/build's extensions/mesa-vpu.sh on desktop builds;
# moved here so every mid-tier desktop install (image-built
# or runtime armbian-config invocation) gets the same set.
# Mesa runtime + Vulkan drivers give GL/Vulkan-capable DEs a
# hardware path instead of llvmpipe; mesa-utils + vulkan-tools
# are the canonical probing surface; glmark2-* are the
# GL/GLES bench binaries (no plain 'glmark2' / 'glmark2-es2'
# package exists — Debian only ships the window-system-
# specific variants).
# Verified present on Debian bookworm/trixie/forky/sid and
# Ubuntu jammy/noble/resolute across amd64/arm64/armhf/riscv64.
- libgl1-mesa-dri # Mesa DRI drivers (OpenGL hardware path)
- libglx-mesa0 # Mesa GLX front-end for X11
- mesa-utils # glxinfo, glxgears, es2_info, etc.
- mesa-vulkan-drivers # Vulkan ICD drivers (Panfrost, Lima, Radeon, Intel, …)
- vulkan-tools # vulkaninfo, vkcube
- glmark2-wayland # GL benchmark — Wayland backend
- glmark2-es2-wayland # GLES2 benchmark — Wayland backend
- glmark2-x11 # GL benchmark — X11 backend
- glmark2-es2-x11 # GLES2 benchmark — X11 backend
Comment on lines +73 to +83
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot Apr 21, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check presence of the 9 new mid-tier packages in the release/arch combos
# claimed by the YAML comment but NOT covered by the PR description's
# verification (forky, sid, jammy, resolute, plus sid/loong64).
set -u

PKGS=(libgl1-mesa-dri libglx-mesa0 mesa-utils mesa-vulkan-drivers vulkan-tools
      glmark2-wayland glmark2-es2-wayland glmark2-x11 glmark2-es2-x11)

check() {
  local base=$1 suite=$2 comp=$3 arch=$4
  local url="${base}/dists/${suite}/${comp}/binary-${arch}/Packages.gz"
  local data
  data=$(curl -fsSL "$url" 2>/dev/null | gunzip 2>/dev/null) || {
    echo "  [SKIP] $url unreachable"; return
  }
  for p in "${PKGS[@]}"; do
    if ! grep -qE "^Package: ${p}\$" <<<"$data"; then
      echo "  [MISS] $suite/$comp/$arch: $p"
    fi
  done
}

# Debian forky + sid
for suite in forky sid; do
  for comp in main contrib non-free non-free-firmware; do
    for arch in amd64 arm64 armhf riscv64; do
      echo "== debian $suite $comp $arch =="
      check http://deb.debian.org/debian "$suite" "$comp" "$arch"
    done
  done
done
# sid/loong64 (per line 167/222)
for comp in main contrib non-free non-free-firmware; do
  echo "== debian sid $comp loong64 =="
  check http://deb.debian.org/debian-ports sid "$comp" loong64
done

# Ubuntu jammy + resolute (amd64/arm64 on archive, armhf/riscv64 on ports)
for suite in jammy resolute; do
  for comp in main universe multiverse restricted; do
    for arch in amd64; do
      echo "== ubuntu $suite $comp $arch =="
      check http://archive.ubuntu.com/ubuntu "$suite" "$comp" "$arch"
    done
    for arch in arm64 armhf riscv64; do
      echo "== ubuntu-ports $suite $comp $arch =="
      check http://ports.ubuntu.com/ubuntu-ports "$suite" "$comp" "$arch"
    done
  done
done

Repository: armbian/configng

Length of output: 146


🏁 Script executed:

# First, check if this is a git repository and find PR/commit context
cd . && git log -1 --oneline 2>/dev/null || echo "Not a git repo or git unavailable"

# Check if there's a PR description or commit message
git log --format='%B' -1 2>/dev/null | head -50 || true

Repository: armbian/configng

Length of output: 2125


🏁 Script executed:

# Examine the actual YAML file to confirm the claims in the review
cat -n tools/modules/desktops/yaml/common.yaml | sed -n '63,85p'

Repository: armbian/configng

Length of output: 1563


🏁 Script executed:

# Check the broader context mentioned in the review (browser map, tier_overrides)
cat -n tools/modules/desktops/yaml/common.yaml | sed -n '122,170p'

Repository: armbian/configng

Length of output: 2211


🏁 Script executed:

# Look at tier_overrides patterns for examples of per-release exclusions
cat -n tools/modules/desktops/yaml/common.yaml | sed -n '203,225p'

Repository: armbian/configng

Length of output: 1545


YAML comment's verification claim is broader than the commit message's stated scope.

The inline comment at lines 73–74 asserts these 9 packages were verified on Debian bookworm/trixie/forky/sid and Ubuntu jammy/noble/resolute across amd64/arm64/armhf/riscv64. However, the commit message states verification only covered:

  • Debian trixie and noble (all four arches)
  • Debian bookworm (amd64/arm64/armhf only)
  • No mention of forky, sid, jammy, or resolute

This discrepancy matters because:

  1. The file actively targets all seven codenames (browser map at lines 122–167 includes bookworm, trixie, noble, jammy, resolute, forky, sid).
  2. Removing phantom packages is meant to eliminate "Unable to locate package" errors; an unverified package missing from (e.g.) jammy/armhf would reintroduce exactly that failure.
  3. No tier_overrides entries exist for any of the nine new packages to absorb per-release gaps.

Either extend the Packages.gz verification to confirm the four unverified codenames (forky, sid, jammy, resolute) and keep the comment as-is, or narrow the comment to match what the commit message demonstrates was checked: trixie, noble, and bookworm-minus-riscv64.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

CI is currently testing on several variants check once finished https://github.com/armbian/configng/actions/runs/24737304638

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧩 Analysis chain

Let me check the CI run status.


🏁 Script executed:

#!/bin/bash
# Check CI run status and results
gh run view 24737304638 --repo armbian/configng 2>/dev/null || echo "Run not accessible"

echo "---"
# Also check the jobs
gh run view 24737304638 --repo armbian/configng --json status,conclusion,jobs 2>/dev/null | jq '{status,conclusion,jobs: [.jobs[] | {name,status,conclusion}]}' 2>/dev/null || echo "JSON query failed"

Length of output: 35845


@igorpecovnik, the run is still in progress (~29 minutes in, 206 jobs total). Here's the current snapshot:

Completed & passing ✅

  • enlightenment / GNOME / i3-wm / Cinnamon / Mate on noble, trixie, resolute, bookworm (amd64 + some arm64) — all green.
  • Non-desktop installs (Docker on jammy/trixie/bookworm/resolute/forky, etc.) — all green.

Still running / queued ⏳

  • All armhf-qemu and riscv64-qemu emulated jobs (Cinnamon, XFCE, Mate, xmonad, enlightenment on trixie/noble/resolute/bookworm).
  • Most arm64 desktop jobs (KDE Plasma, KDE Neon, GNOME, XFCE, xmonad, …).
  • bookworm/arm64 and bookworm/armhf desktop jobs.

No failures so far — which is a good early signal. I'll keep the review comment open until the emulated armhf/riscv64 jobs finish, since those are the arches most relevant to the verification gap I flagged. Feel free to ping me once the run completes and I'll re-check and resolve if everything passes.


🧠 Learnings used
Learnt from: Tearran
Repo: armbian/configng PR: 668
File: tools/modules/initialize/init_args.sh:0-0
Timestamp: 2025-08-29T06:07:23.830Z
Learning: The set_runtime_variables.sh in armbian/configng establishes these key variables that must be matched exactly in independent modules: NETWORK_RENDERER (detected via systemctl/NetworkManager), DIALOG_CANCEL=1, DIALOG_ESC=255, CONFIG_FILE="/etc/armbian-config", ARMBIAN (from /etc/armbian-release), DISTRO_STATUS, SOFTWARE_FOLDER="/armbian", TRANSMISSION_WHITELIST (includes Docker subnet), ZFS_DKMS_VERSION, and ZFS_KERNEL_MAX (with fallback version logic).


full:
packages:
Expand Down
Loading