WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@tabrisnet
Copy link
Collaborator

@tabrisnet tabrisnet commented Nov 18, 2025

Description

see #8965 for the issue.
This basically takes plucky, unlinks the kde-plasma files so we can change the pkg list.
replaces plasma-desktop-wayland with plasma-desktop
comments out lib2uf-udev as it appears to be not interesting/necessary [it's a transitional pkg].

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

  • the rootfs creation works.
    • time ./compile.sh artifact WHAT=rootfs BOARD=rock-5b BUILD_DESKTOP=yes DESKTOP_ENVIRONMENT=kde-plasma RELEASE=questing MANAGE_ACNG='http://squid.tabris.net:3142/' COMPRESS_OUTPUTIMAGE=xz DEB_COMPRESS=xz ARTIFACT_IGNORE_CACHE=yes

Summary by CodeRabbit

Release Notes

  • New Features
    • Added support for multiple desktop environments: Cinnamon, GNOME, i3-wm, KDE Neon, KDE Plasma, and XFCE
    • Added curated application packages across categories: browsers (Chromium, Firefox), chat, multimedia, office, programming, internet tools, and remote desktop
    • Added desktop environment customization including wallpapers, themes, panel layouts, and system settings configurations

@github-actions github-actions bot added size/large PR with 250 lines or more 11 Milestone: Fourth quarter release Desktop Graphical user interface Needs review Seeking for review and removed 11 Milestone: Fourth quarter release labels Nov 18, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 18, 2025

Walkthrough

This PR establishes a comprehensive desktop environment provisioning framework under config/desktop/questing/, adding configurations for multiple desktop environments (Cinnamon, i3-wm, KDE Neon, KDE Plasma, XFCE), application groups (browsers, chat, editors, multimedia, office, programming tools, remote desktop), post-installation scripts, package manifests, and shell provisioning scripts for Armbian desktop package creation.

Changes

Cohort / File(s) Summary
Removed marker file
config/desktop/questing
Deletion of single-line "noble" placeholder file.
Browser configuration
config/desktop/questing/appgroups/browsers/*
Added package list (chromium-browser, firefox), post-installation script configuring Chromium launch flags and Firefox symbolic links, and Armbian provisioning script copying browser configs.
Application group package manifests
config/desktop/questing/appgroups/{chat,desktop_tools,editors,internet,multimedia,office,remote_desktop}/packages*
Added package lists for various application categories; includes active entries and commented-out alternatives for chat apps.
Programming environment packages
config/desktop/questing/appgroups/programming/{packages,custom/desktops/{cinnamon,gnome,kde}/packages}
Base programming packages and desktop-specific toolchains (gnome-builder, kdevelop, qtcreator, sysprof).
Cinnamon desktop environment
config/desktop/questing/environments/cinnamon/*
Complete setup including architectures declaration, package manifest, uninstall list, Armbian provisioning script, Debian post-installation script with extensive dconf configurations for UI, panels, and system preferences, plus support marker.
i3-wm desktop environment
config/desktop/questing/environments/i3-wm/*
Architecture and package lists, Armbian provisioning script, Debian post-installation script configuring LightDM and PulseAudio, plus support marker.
KDE Neon desktop environment
config/desktop/questing/environments/kde-neon/*
Architectures, packages, post-installation references to KDE Plasma, APT source configuration for Neon repository, support marker.
KDE Plasma shared environment
config/desktop/questing/environments/kde-plasma/*
Comprehensive package lists, uninstall configuration, and path references; shared baseline for KDE environments.
XFCE desktop environment
config/desktop/questing/environments/xfce/*
Architectures, packages, uninstall configurations, and references to common XFCE environment paths; plus support marker.
GNOME environment reference
config/desktop/questing/environments/gnome
Single path reference to common GNOME environment.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~35 minutes

  • Post-installation scripts: Review shell logic in debian/postinst files, particularly the Cinnamon configuration which contains extensive dconf database initialization and schema compilation.
  • Browser configuration logic: Verify symlink creation strategy and file write operations in appgroups/browsers/debian/postinst.
  • Package manifest consistency: Cross-check package names across overlapping categories and desktop environments for duplicates or conflicts.
  • Path reference correctness: Validate all relative path references (e.g., ../../../common/environments/) resolve correctly.
  • Armbian provisioning scripts: Ensure copy operations and directory creation patterns are consistent across environments.

Possibly related PRs

Suggested labels

Build

Suggested reviewers

  • igorpecovnik
  • EvilOlaf
  • leggewie
  • paolosabatino

Poem

🐰 A warren of desktops springs to life,
With Cinnamon, Plasma, i3 and XFCE—
Packages bundled, configs in flight,
Post-install scripts dance through the night,
Armbian's garden blooms so bright! 🌿

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title references issue #8965 and mentions 'partial fixes for RELEASE=questing', which aligns with the PR's objective of addressing questing-related configuration but uses '[WIP]' prefix indicating work-in-progress status.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@tabrisnet tabrisnet added the Work in progress Unfinished / work in progress label Nov 18, 2025
@tabrisnet
Copy link
Collaborator Author

@coderabbitai review

@github-actions github-actions bot added the 11 Milestone: Fourth quarter release label Nov 18, 2025
@tabrisnet tabrisnet added 02 Milestone: First quarter release and removed 11 Milestone: Fourth quarter release labels Nov 18, 2025
@tabrisnet
Copy link
Collaborator Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 18, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
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.

Actionable comments posted: 7

♻️ Duplicate comments (1)
config/desktop/questing/environments/i3-wm/config_base/packages (1)

75-75: Clarify libu2f-udev package status.

This is the same "libu2f-udev" package found in the XFCE configuration. If it's confirmed to be a transitional package for Questing, it should be removed from all environment package lists for consistency.

🧹 Nitpick comments (5)
config/desktop/questing/environments/cinnamon/config_base/packages (1)

40-44: Remove duplicate gnome-disk-utility entry.

gnome-disk-utility is listed twice (Line 40 and Line 42). Apt will handle it, but it’s better to keep the manifest de‑duplicated for clarity and to reduce confusion when editing later.

A minimal cleanup diff:

-gnome-disk-utility
-gnome-screenshot
-gnome-disk-utility
+gnome-disk-utility
+gnome-screenshot
config/desktop/questing/environments/cinnamon/armbian/create_desktop_package.sh (1)

1-164: Cinnamon provisioning script looks correct; consider centralizing wallpaper metadata.

The script’s use of $SRC/$destination, quoting, and the here‑doc for armbian.xml all look fine and follow the existing desktop provisioning pattern. Only minor nits:

  • Some wallpaper names/paths have unusual spellings (e.g. black-pyscho, Armbian-clear-rounded-bakcground-3840-2160.jpg). If these aren’t intentional file names, double‑check they match the actual blobs so the entries don’t end up broken.
  • The wallpaper list XML appears to be shared conceptually with other environments (e.g. i3); if duplication exists there, you might later centralize this into a common template to keep the lists in sync.

No blocking issues from this script itself.

Based on learnings

config/desktop/questing/environments/i3-wm/debian/postinst (3)

5-5: Add error handling for sed operation.

The sed command modifying PulseAudio configuration lacks error handling and doesn't create a backup. If the file is missing or the pattern doesn't match, it silently continues.

-if [ -f /etc/pulse/default.pa ]; then sed "s/load-module module-udev-detect$/& tsched=0/g" -i  /etc/pulse/default.pa; fi
+if [ -f /etc/pulse/default.pa ]; then 
+    sed -i.bak "s/load-module module-udev-detect$/& tsched=0/g" /etc/pulse/default.pa || echo "Warning: Failed to modify PulseAudio configuration"
+fi

11-11: Add safety checks before moving configuration files.

The mv commands will fail if the source files don't exist (e.g., if the postinst script runs multiple times). Consider checking file existence or using mv -f with appropriate logic.

-mv /etc/lightdm/slick-greeter.conf /etc/lightdm/slick-greeter.conf.bak
+[ -f /etc/lightdm/slick-greeter.conf ] && mv /etc/lightdm/slick-greeter.conf /etc/lightdm/slick-greeter.conf.bak
 touch /etc/lightdm/slick-greeter.conf
-mv /etc/lightdm/lightdm-gtk-greeter.conf /etc/lightdm/lightdm-gtk-greeter.conf.bak
+[ -f /etc/lightdm/lightdm-gtk-greeter.conf ] && mv /etc/lightdm/lightdm-gtk-greeter.conf /etc/lightdm/lightdm-gtk-greeter.conf.bak
 touch /etc/lightdm/lightdm-gtk-greeter.conf

Also applies to: 26-26


41-41: Consider removing or guarding the slick-greeter command.

Running slick-greeter -h (to apply wallpaper) in a postinst script may fail if no display is available during package installation (e.g., during rootfs creation). This could cause the postinst to fail.

Consider either:

  1. Removing this line if the wallpaper is already configured via the config files
  2. Adding proper guards and error suppression
-slick-greeter -h #applies wallpaper
+# Note: Wallpaper is already configured in slick-greeter.conf above
+# Running slick-greeter during postinst may fail without a display
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6a64c9a and b9af930.

📒 Files selected for processing (47)
  • config/desktop/questing (0 hunks)
  • config/desktop/questing/appgroups/browsers/armbian/create_desktop_package.sh (1 hunks)
  • config/desktop/questing/appgroups/browsers/debian/postinst (1 hunks)
  • config/desktop/questing/appgroups/browsers/packages (1 hunks)
  • config/desktop/questing/appgroups/chat/packages (1 hunks)
  • config/desktop/questing/appgroups/desktop_tools/packages (1 hunks)
  • config/desktop/questing/appgroups/editors/packages (1 hunks)
  • config/desktop/questing/appgroups/internet/packages (1 hunks)
  • config/desktop/questing/appgroups/multimedia/packages (1 hunks)
  • config/desktop/questing/appgroups/office/packages (1 hunks)
  • config/desktop/questing/appgroups/programming/custom/desktops/cinnamon/packages (1 hunks)
  • config/desktop/questing/appgroups/programming/custom/desktops/gnome/packages (1 hunks)
  • config/desktop/questing/appgroups/programming/custom/desktops/kde/packages (1 hunks)
  • config/desktop/questing/appgroups/programming/packages (1 hunks)
  • config/desktop/questing/appgroups/remote_desktop/packages (1 hunks)
  • config/desktop/questing/environments/cinnamon/architectures (1 hunks)
  • config/desktop/questing/environments/cinnamon/armbian/create_desktop_package.sh (1 hunks)
  • config/desktop/questing/environments/cinnamon/config_base/packages (1 hunks)
  • config/desktop/questing/environments/cinnamon/config_base/packages.uninstall (1 hunks)
  • config/desktop/questing/environments/cinnamon/debian/postinst (1 hunks)
  • config/desktop/questing/environments/cinnamon/support (1 hunks)
  • config/desktop/questing/environments/gnome (1 hunks)
  • config/desktop/questing/environments/i3-wm/architectures (1 hunks)
  • config/desktop/questing/environments/i3-wm/armbian/create_desktop_package.sh (1 hunks)
  • config/desktop/questing/environments/i3-wm/config_base/packages (1 hunks)
  • config/desktop/questing/environments/i3-wm/debian/postinst (1 hunks)
  • config/desktop/questing/environments/i3-wm/support (1 hunks)
  • config/desktop/questing/environments/kde-neon/architectures (1 hunks)
  • config/desktop/questing/environments/kde-neon/armbian (1 hunks)
  • config/desktop/questing/environments/kde-neon/config_base/packages (1 hunks)
  • config/desktop/questing/environments/kde-neon/config_base/packages.uninstall (1 hunks)
  • config/desktop/questing/environments/kde-neon/debian (1 hunks)
  • config/desktop/questing/environments/kde-neon/sources/apt/neon.source (1 hunks)
  • config/desktop/questing/environments/kde-neon/support (1 hunks)
  • config/desktop/questing/environments/kde-plasma/architectures (1 hunks)
  • config/desktop/questing/environments/kde-plasma/armbian (1 hunks)
  • config/desktop/questing/environments/kde-plasma/config_base/packages (1 hunks)
  • config/desktop/questing/environments/kde-plasma/config_base/packages.uninstall (1 hunks)
  • config/desktop/questing/environments/kde-plasma/debian (1 hunks)
  • config/desktop/questing/environments/kde-plasma/support (1 hunks)
  • config/desktop/questing/environments/xfce/appgroups (1 hunks)
  • config/desktop/questing/environments/xfce/architectures (1 hunks)
  • config/desktop/questing/environments/xfce/armbian (1 hunks)
  • config/desktop/questing/environments/xfce/config_base/packages (1 hunks)
  • config/desktop/questing/environments/xfce/config_base/packages.uninstall (1 hunks)
  • config/desktop/questing/environments/xfce/debian (1 hunks)
  • config/desktop/questing/environments/xfce/support (1 hunks)
💤 Files with no reviewable changes (1)
  • config/desktop/questing
🧰 Additional context used
🧠 Learnings (16)
📓 Common learnings
Learnt from: EvilOlaf
Repo: armbian/build PR: 8428
File: config/boards/lckfb-taishanpi.csc:5-9
Timestamp: 2025-07-25T03:51:50.830Z
Learning: When reviewing PRs in the Armbian build system, U-Boot defconfig files and patches may be added as part of the PR changes but might not be visible in the current repository clone state during review. It's important to check the actual PR file changes directly via GitHub or the PR API to get the complete picture of what files are being added or modified.
Learnt from: EvilOlaf
Repo: armbian/build PR: 8428
File: config/boards/lckfb-taishanpi.csc:5-9
Timestamp: 2025-07-25T03:51:50.830Z
Learning: When reviewing PRs in the Armbian build system, U-Boot defconfig files and patches may be added as part of the PR changes but might not be visible in the current repository clone state during review. It's important to check the actual PR file changes directly via GitHub API (https://api.github.com/repos/armbian/build/pulls/{pr_number}/files) to get the complete picture of what files are being added or modified, especially for U-Boot patches that will be applied during the build process.
Learnt from: leggewie
Repo: armbian/build PR: 8502
File: config/desktop/trixie/environments/i3-wm/config_base/packages:44-44
Timestamp: 2025-08-14T17:19:39.693Z
Learning: When a PR author provides clear context about package transitions in the commit message and the changes are scoped to specific release pockets, focus the review on validating those specific changes rather than suggesting broader investigations across other releases or additional dependency verifications.
Learnt from: Grippy98
Repo: armbian/build PR: 8202
File: config/desktop/trixie/environments/gnome/armbian/create_desktop_package.sh:2-3
Timestamp: 2025-05-16T15:34:34.672Z
Learning: The shell scripts in the Armbian build system's desktop configuration files, such as config/desktop/trixie/environments/gnome/armbian/create_desktop_package.sh, rely on environment variables like $SRC and $destination that are expected to be set externally before the script is executed.
📚 Learning: 2025-07-04T18:33:19.873Z
Learnt from: leggewie
Repo: armbian/build PR: 8357
File: config/boards/qcom-robotics-rb5.conf:88-88
Timestamp: 2025-07-04T18:33:19.873Z
Learning: In the Armbian build system, package transitions in Debian/Ubuntu don't happen uniformly across all releases. For example, the transition from plasma-workspace-wayland to plasma-workspace occurred in newer releases like trixie (Debian testing) around July 2024, but older releases like jammy (Ubuntu 22.04) still maintain the original plasma-workspace-wayland package. Release-specific package availability must be considered when updating package references.

Applied to files:

  • config/desktop/questing/environments/kde-plasma/debian
  • config/desktop/questing/environments/kde-plasma/config_base/packages
  • config/desktop/questing/environments/kde-plasma/armbian
📚 Learning: 2025-11-06T15:36:04.682Z
Learnt from: rpardini
Repo: armbian/build PR: 8879
File: config/sources/families/uefi-x86.conf:0-0
Timestamp: 2025-11-06T15:36:04.682Z
Learning: As of PR #8879, the uefi-x86 family in the Armbian build system now includes kernel patches for the first time. The current and edge branches for uefi-x86 are specifically configured for Apple T2-based x86 machines, including T2-specific patches from the linux-t2 project and custom kernel configuration options for Apple hardware drivers.

Applied to files:

  • config/desktop/questing/environments/cinnamon/architectures
📚 Learning: 2025-05-16T15:34:34.672Z
Learnt from: Grippy98
Repo: armbian/build PR: 8202
File: config/desktop/trixie/environments/gnome/armbian/create_desktop_package.sh:2-3
Timestamp: 2025-05-16T15:34:34.672Z
Learning: The shell scripts in the Armbian build system's desktop configuration files, such as config/desktop/trixie/environments/gnome/armbian/create_desktop_package.sh, rely on environment variables like $SRC and $destination that are expected to be set externally before the script is executed.

Applied to files:

  • config/desktop/questing/appgroups/browsers/armbian/create_desktop_package.sh
  • config/desktop/questing/environments/kde-neon/armbian
  • config/desktop/questing/environments/xfce/armbian
  • config/desktop/questing/environments/cinnamon/armbian/create_desktop_package.sh
  • config/desktop/questing/environments/i3-wm/debian/postinst
  • config/desktop/questing/environments/kde-plasma/armbian
  • config/desktop/questing/environments/cinnamon/debian/postinst
  • config/desktop/questing/environments/i3-wm/armbian/create_desktop_package.sh
📚 Learning: 2025-07-17T04:12:33.125Z
Learnt from: pyavitz
Repo: armbian/build PR: 8388
File: config/boards/kickpik2b.conf:1-14
Timestamp: 2025-07-17T04:12:33.125Z
Learning: In the Armbian build system, board configuration files (*.conf) follow a project standard of not including shebang lines, even though they contain bash code and are sourced by the build system. This is an established Armbian convention that individual contributors are expected to follow, and changes to this standard would require broader project maintainer approval.

Applied to files:

  • config/desktop/questing/appgroups/browsers/armbian/create_desktop_package.sh
  • config/desktop/questing/environments/xfce/armbian
  • config/desktop/questing/environments/kde-plasma/armbian
📚 Learning: 2025-08-03T15:21:20.148Z
Learnt from: pyavitz
Repo: armbian/build PR: 8455
File: config/sources/families/sun50iw1.conf:19-24
Timestamp: 2025-08-03T15:21:20.148Z
Learning: In the Armbian build system, when copying firmware files during family_tweaks_s(), use /lib/firmware/updates/ instead of /lib/firmware/ to avoid conflicts with the Armbian firmware package. The /lib/firmware/updates directory takes precedence in Linux firmware loading hierarchy and is the proper location for user-installed firmware files.

Applied to files:

  • config/desktop/questing/appgroups/browsers/armbian/create_desktop_package.sh
  • config/desktop/questing/environments/i3-wm/armbian/create_desktop_package.sh
📚 Learning: 2025-08-19T04:53:53.012Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8519
File: config/desktop/noble/environments/kde-neon/sources/apt/neon.source:1-1
Timestamp: 2025-08-19T04:53:53.012Z
Learning: The Armbian build system automatically handles GPG key installation for KDE Neon desktop environments, so neon.gpg does not need to be manually placed in config/desktop/noble/environments/kde-neon/sources/apt/ directory.

Applied to files:

  • config/desktop/questing/environments/kde-neon/armbian
  • config/desktop/questing/environments/kde-neon/sources/apt/neon.source
  • config/desktop/questing/environments/kde-plasma/armbian
  • config/desktop/questing/environments/kde-neon/debian
  • config/desktop/questing/environments/kde-neon/config_base/packages
📚 Learning: 2025-09-18T03:36:17.862Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8537
File: config/boards/qcom-robotics-rb5.conf:1-1
Timestamp: 2025-09-18T03:36:17.862Z
Learning: In Armbian board configuration files (regardless of file extension), the standard pattern is to have only one line as a comment describing the board hardware specifications. This single-line description typically includes the SoC model, core count, RAM options, and key features like connectivity options, storage interfaces, and special features. The file extensions indicate board support status: .conf (standard support), .csc (community supported), .eos (end of support), .tvb (tvbox), .wip (work in progress).

Applied to files:

  • config/desktop/questing/environments/xfce/armbian
📚 Learning: 2025-06-14T05:53:10.627Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8298
File: extensions/https_proxy.sh:1-9
Timestamp: 2025-06-14T05:53:10.627Z
Learning: Armbian build framework extensions are NOT designed to run standalone but are called by the supervisor. The framework provides environment variables like USERPATCHES_PATH and SDCARD, and commands are executed with protection via run_host_command_logged and chroot_sdcard functions that use bash -e -o pipefail.

Applied to files:

  • config/desktop/questing/environments/xfce/armbian
📚 Learning: 2025-06-22T00:45:26.182Z
Learnt from: djurny
Repo: armbian/build PR: 8315
File: lib/functions/rootfs/distro-agnostic.sh:54-68
Timestamp: 2025-06-22T00:45:26.182Z
Learning: In Armbian build system, external command dependencies like envsubst are handled by adding the required packages (e.g., gettext for envsubst) to host_dependencies in adaptative_prepare_host_dependencies function in lib/functions/host/prepare-host.sh, rather than checking command availability at runtime.

Applied to files:

  • config/desktop/questing/environments/xfce/armbian
📚 Learning: 2025-07-23T10:01:41.310Z
Learnt from: amazingfate
Repo: armbian/build PR: 8419
File: lib/functions/host/prepare-host.sh:272-275
Timestamp: 2025-07-23T10:01:41.310Z
Learning: In the Armbian build system, the design philosophy is to fail fast when host dependencies are not met rather than gracefully skipping unsupported architectures. This ensures build environment consistency and prevents silent failures. Host dependency checks should be explicit and non-negotiable.

Applied to files:

  • config/desktop/questing/environments/xfce/armbian
📚 Learning: 2025-07-27T15:53:30.629Z
Learnt from: pyavitz
Repo: armbian/build PR: 8421
File: config/kernel/linux-sunxi64-edge.config:805-825
Timestamp: 2025-07-27T15:53:30.629Z
Learning: In the Armbian build system, kernel configurations prioritize broad hardware compatibility over optimization concerns. Even when including numerous legacy/obsolete drivers causes technical issues like increased initramfs size and slower enumeration, the project philosophy is to "appease the masses" by ensuring maximum device compatibility rather than optimizing for specific use cases.

Applied to files:

  • config/desktop/questing/environments/xfce/armbian
📚 Learning: 2025-11-09T22:30:27.163Z
Learnt from: igorpecovnik
Repo: armbian/build PR: 8720
File: lib/functions/rootfs/distro-specific.sh:38-47
Timestamp: 2025-11-09T22:30:27.163Z
Learning: In lib/functions/rootfs/distro-specific.sh, the systemd sleep.conf.d override that disables suspend/hibernation is intentionally applied system-wide to all Armbian images (desktop, CLI, and minimal), not gated to desktop-only builds, because suspend/resume is fragile on most boards.

Applied to files:

  • config/desktop/questing/environments/i3-wm/debian/postinst
  • config/desktop/questing/environments/cinnamon/debian/postinst
📚 Learning: 2025-11-13T14:50:44.662Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8925
File: lib/functions/host/docker.sh:141-141
Timestamp: 2025-11-13T14:50:44.662Z
Learning: In the Armbian build system, certain boards have U-Boot that doesn't build correctly on ubuntu:noble but works on ubuntu:jammy. For these boards, DOCKER_ARMBIAN_BASE_IMAGE can be set to "ubuntu:jammy" via an extension file loaded before docker_cli_prepare() runs, allowing legacy toolchains to work while the community works on proper fixes with limited resources.

Applied to files:

  • config/desktop/questing/environments/kde-plasma/armbian
📚 Learning: 2025-09-27T21:50:04.845Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8678
File: config/kernel/linux-sm8250-edge.config:80-82
Timestamp: 2025-09-27T21:50:04.845Z
Learning: In the Armbian build system, kernel configuration files are generated through this automated process: taking previous config → applying scripted changes from armbian-kernel.sh → running kernel's `make oldconfig` → processing by Armbian machinery back into config files. This automated process properly handles kernel configuration dependencies and reduces the likelihood of manual configuration errors.

Applied to files:

  • config/desktop/questing/environments/cinnamon/debian/postinst
📚 Learning: 2025-09-27T21:49:55.796Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8678
File: config/kernel/linux-sm8250-current.config:78-80
Timestamp: 2025-09-27T21:49:55.796Z
Learning: In the Armbian build system, kernel configuration files are generated through an automated process: taking previous config → applying scripted changes from armbian-kernel.sh → running kernel's `make oldconfig` → processing by Armbian machinery back into config files. This automated process properly handles kernel configuration dependencies and reduces the likelihood of manual configuration errors.

Applied to files:

  • config/desktop/questing/environments/cinnamon/debian/postinst
🔇 Additional comments (37)
config/desktop/questing/appgroups/desktop_tools/packages (1)

1-2: LGTM!

Both packages are well-established desktop utilities appropriate for the desktop_tools category.

config/desktop/questing/appgroups/programming/packages (1)

1-4: LGTM!

All packages are appropriate programming and development tools for the programming appgroup.

config/desktop/questing/environments/cinnamon/architectures (1)

1-1: LGTM!

Standard architecture specification for Cinnamon environment supporting both ARM64 and AMD64 platforms.

config/desktop/questing/appgroups/programming/custom/desktops/cinnamon/packages (1)

1-2: LGTM!

GNOME-based development tools are appropriate for Cinnamon (which is built on GNOME technologies).

config/desktop/questing/environments/kde-neon/armbian (1)

1-1: LGTM!

Correctly references the common KDE Plasma configuration, which is appropriate since KDE Neon is essentially the latest KDE Plasma release.

config/desktop/questing/environments/cinnamon/support (1)

1-1: LGTM!

Standard support status marker indicating the Cinnamon environment is supported.

config/desktop/questing/appgroups/multimedia/packages (1)

1-5: LGTM!

All packages are appropriate multimedia applications. Note that pithos is a Pandora Radio client, which only works in the USA due to Pandora's geographic restrictions, but this doesn't prevent its inclusion for users who can access the service.

config/desktop/questing/appgroups/programming/custom/desktops/kde/packages (1)

1-2: LGTM!

The KDE programming tool selections (KDevelop and Qt Creator) are appropriate and standard for KDE desktop environments.

config/desktop/questing/appgroups/chat/packages (1)

2-4: Clarify the status of commented chat packages.

Three packages are commented out (pidgin, purple-discord, purple-rocketchat). Are these temporarily disabled due to availability issues in questing, or are they intentionally excluded from this release configuration? Please add a comment explaining the reasoning to help future maintainers.

config/desktop/questing/appgroups/programming/custom/desktops/gnome/packages (1)

1-1: LGTM!

GNOME Builder is the appropriate IDE choice for GNOME desktop environments.

config/desktop/questing/appgroups/internet/packages (1)

1-4: LGTM!

The internet package selections are appropriate. The inclusion of PuTTY (despite being traditionally a Windows tool) is reasonable for users familiar with it, and all packages should be available in Ubuntu repositories.

config/desktop/questing/appgroups/editors/packages (1)

1-1: LGTM!

Emacs is a solid choice for the editors appgroup.

config/desktop/questing/environments/gnome (1)

1-1: Target path verified successfully.

The symlink to ../../common/environments/gnome correctly references an existing directory at config/desktop/common/environments/gnome containing proper configuration structure (armbian, config_base, debian subdirectories and supporting files). No issues detected.

config/desktop/questing/appgroups/office/packages (1)

1-4: All packages are available in Ubuntu 24.10 repositories.

Verification confirms that libreoffice, libreoffice-gtk3, libreoffice-style-elementary, and simple-scan are all present in the Ubuntu 24.10 (oracular) repositories. The office package selections are correct for the questing release.

config/desktop/questing/environments/xfce/config_base/packages.uninstall (1)

1-1: XFCE uninstall file correctly delegates to common config.

Single-line indirection to ../../../../common/environments/xfce/config_base/packages.uninstall matches the shared-config pattern and keeps uninstall logic centralized. No changes needed.

config/desktop/questing/appgroups/remote_desktop/packages (1)

1-3: Remote desktop appgroup manifest is well-structured.

Straightforward, one-package-per-line list for the remote_desktop group; no duplicates or formatting issues and consistent with other appgroup manifests.

config/desktop/questing/environments/kde-plasma/config_base/packages (1)

1-153: KDE Plasma package set is correct for the questing transition.

Commenting out libu2f-udev here aligns with the PR's goal of dropping the transitional package in the questing/kde-plasma pocket. The package remains present in other environments (xfce, i3-wm) and release pockets (plucky, noble, jammy), which is expected since this change is narrowly scoped to KDE Plasma in questing per the PR description.

config/desktop/questing/environments/xfce/appgroups (1)

1-1: LGTM – follows the established pattern of reusing common configurations.

The path reference correctly points to the shared XFCE appgroups configuration, consistent with the architectural pattern used throughout this PR.

config/desktop/questing/environments/xfce/debian (1)

1-1: LGTM – consistent path reference to shared configuration.

This follows the same pattern as other XFCE environment files in reusing common definitions.

config/desktop/questing/environments/i3-wm/support (1)

1-1: LGTM – correct support status for new environment.

The "supported" value is appropriate for a newly added i3-wm environment in the questing release.

config/desktop/questing/environments/xfce/armbian (1)

1-1: LGTM – appropriate reuse of shared armbian scripts.

This path reference follows the established pattern of reusing common XFCE armbian configurations.

config/desktop/questing/environments/xfce/architectures (1)

1-1: LGTM – correct reference to common architecture definitions.

This appropriately references the shared XFCE architectures configuration, consistent with the pattern used by other XFCE environment files.

config/desktop/questing/environments/kde-neon/sources/apt/neon.source (1)

1-1: The APT source is correctly specified – no changes needed.

The KDE Neon testing repository uses "noble" as the distribution name for this release. The verification confirms "noble" exists in the repository while "plucky" does not. The PR description's mention of "plucky" refers to the underlying Ubuntu base (Ubuntu Plucky Puffin), which is separate from the KDE Neon distribution naming convention. The current specification is correct.

Likely an incorrect or invalid review comment.

config/desktop/questing/environments/i3-wm/architectures (1)

1-1: Architecture list looks appropriate.

The architecture list includes ARM (armhf, arm64), x86_64 (amd64), and RISC-V (riscv64), which aligns with Armbian's multi-architecture support for i3-wm.

config/desktop/questing/environments/xfce/support (1)

1-1: Verification confirms the common XFCE support path exists and is correctly referenced.

The relative path ../../../common/environments/xfce/support resolves to a valid directory at config/desktop/common/environments/xfce/support.

config/desktop/questing/environments/kde-neon/debian (1)

1-1: Path verification confirmed. The reference to ../../../common/environments/kde-plasma/debian correctly resolves to an existing directory with expected contents (config/desktop/common/environments/kde-plasma/debian/postinst).

config/desktop/questing/environments/kde-neon/architectures (1)

1-1: Verification complete: common KDE Plasma architectures path is valid.

The referenced path config/desktop/common/environments/kde-plasma/architectures exists and contains valid architecture definitions (arm64, amd64). The relative reference in the kde-neon file correctly points to this shared configuration, confirming that KDE Neon appropriately reuses the common KDE Plasma architecture definitions.

config/desktop/questing/environments/kde-plasma/support (1)

1-1: No changes needed—support configuration is consistent across releases.

Verification confirms that the jammy support configuration is appropriate for questing. Both jammy and questing have identical support files containing "csc", consistent with all other releases (trixie, bookworm, plucky, and common). No divergence in support requirements between releases was detected.

config/desktop/questing/environments/kde-plasma/armbian (1)

1-1: I need to verify whether the jammy file actually exists and what the correct reference should be:

I found a critical error in the review comment itself. Let me verify the questing configuration file more precisely:

Correct the version reference in the Ubuntu release identification.

Questing Quokka is version 25.10, not 25.04. Plucky Puffin is 25.04. The review comment incorrectly states "Questing (Ubuntu 25.04)" when it should reference "Questing (Ubuntu 25.10)". Additionally, based on the script output, the referenced config/desktop/jammy/environments/kde-plasma/armbian file does not exist in the repository—only bookworm, trixie, and common releases have kde-plasma armbian files. Verify whether questing should reference plucky or another existing release configuration instead.

Likely an incorrect or invalid review comment.

config/desktop/questing/appgroups/browsers/packages (1)

1-2: Verify that transitional/snap packages work with Armbian's build system.

Package verification confirms chromium-browser and firefox are available in Ubuntu 25.04 (questing), but as transitional wrappers that install snap versions. This matches your concern about transitions. Ensure Armbian's build pipeline handles these snap-based transitional packages correctly, particularly if the build system expects pure .deb packages or has constraints around snap installations.

config/desktop/questing/environments/kde-plasma/debian (1)

1-1: No action required — the debian configuration reference is appropriate.

The symlink to jammy's debian directory is correct. The debian/postinst script only contains generic Pulseaudio timer scheduling configuration with no plasma package-specific handling. The actual package differences (plasma-workspace-wayland in jammy vs. plasma-workspace in questing) are properly handled through the questing-specific config_base/packages file, which was created in this PR as a new override. This aligns with the expected package transition in newer Debian releases.

Likely an incorrect or invalid review comment.

config/desktop/questing/environments/kde-neon/config_base/packages.uninstall (1)

1-1: LGTM! Clean delegation pattern.

The reference to the common KDE Plasma uninstall configuration is appropriate and follows the established pattern of reusing shared configurations across related desktop environments.

config/desktop/questing/appgroups/browsers/debian/postinst (1)

1-14: LGTM! firefox.conf source file verified to exist.

The browser post-installation configuration is well-structured. The file packages/blobs/desktop/firefox.conf is present and will be available for the symlinks created in the post-installation script.

config/desktop/questing/appgroups/browsers/armbian/create_desktop_package.sh (1)

1-4: Browser configuration files are present in the repository.

All three source files referenced in the copy commands have been verified to exist:

  • packages/blobs/desktop/chromium.conf
  • packages/blobs/desktop/firefox.conf
  • packages/blobs/desktop/chromium/ directory ✓
config/desktop/questing/environments/i3-wm/armbian/create_desktop_package.sh (1)

1-14: All provisioning assets verified and present.

The script correctly references existing source assets:

  • lightdm directory exists
  • skel directory exists
  • armbian.png icon exists
  • 23 wallpaper files match the armbian*.jpg pattern in desktop-wallpapers/

The i3-wm provisioning script follows the established pattern and all dependencies are in place.

config/desktop/questing/environments/kde-neon/config_base/packages (1)

1-10: I need to verify this through web search since the sandbox environment may not have Ubuntu Questing repositories configured. Let me search for information about KDE Neon packages in Ubuntu Questing.

I need to search more specifically for Questing (Ubuntu 25.10) and KDE/Kubuntu support.

Let me search specifically for neon-desktop availability in Questing.

Replace "neon-desktop" with appropriate Ubuntu KDE packages for Questing, or clarify distribution target.

KDE Neon is built on top of the latest Ubuntu LTS release (24.04 at the moment), while Kubuntu 25.10 ships with KDE Plasma 6.4.5 and is an official Ubuntu flavor with standard KDE packages. The configuration file uses a "kde-neon" directory name but references Questing (an interim release, not LTS).

The critical issue: neon-desktop is a KDE Neon-specific package not available in standard Ubuntu Questing repositories. The remaining packages (kde-standard, sddm, plasma-nm, plasma-pa, plasma-discover, plasma-vault, scdaemon, kscreen, bluedevil) are standard Ubuntu KDE packages that should be available in Questing.

Either:

  1. Remove "neon-desktop" and keep the standard Ubuntu packages, or
  2. Clarify that this config is intended for Ubuntu LTS with KDE Neon repos enabled
config/desktop/questing/environments/i3-wm/debian/postinst (1)

8-8: I need to gather more context about this script and i3 package behavior on Debian systems.

I need to examine the repository context to understand when this postinst script runs relative to i3-wm installation.

Let me search the repository for the package metadata and context around this postinst file:

Based on my investigation, i3-config-wizard creates ~/.config/i3/config by rewriting a template configuration file in /etc/i3/config.keycodes, which confirms that /etc/i3/config exists as a reference file that can be copied. However, package dependencies will at least be "Half-Installed" and previously configured, but dependencies may not be configured or even fully unpacked in some error situations, and postinst should still attempt actions for which dependencies are required but consider correct error handling if those actions fail.

The core concern in the review comment is valid: the script should verify that /etc/i3/config exists before appending to it or properly handle the case when i3-wm hasn't been installed.

Verify /etc/i3/config exists before appending to it.

The script should either check if i3-wm is installed or verify the config file exists before modifying it. Since tee -a will create a file with default permissions if it doesn't exist, and /etc/i3/config is a package-managed file, the current approach risks creating an incorrectly-placed config file if i3-wm installation is incomplete or hasn't occurred yet.

Additionally, modifying /etc/i3/config directly during a desktop environment postinst is unconventional; typically system-wide i3 configuration happens through per-user ~/.config/i3/config files. Consider adding a check like:

if [ -f /etc/i3/config ]; then
    echo "..." | tee -a /etc/i3/config
else
    echo "Warning: i3 config not found" >&2
fi

Comment on lines +1 to +2
gnome-software
gnome-keyring
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

Verify the removal of gnome-keyring from Cinnamon.

While removing gnome-software makes sense (Cinnamon typically uses its own software center), removing gnome-keyring is concerning. The Cinnamon desktop environment typically relies on gnome-keyring for secure credential storage, and many applications (browsers, email clients, SSH agents, etc.) depend on it for password management. Removing it could break credential storage functionality.

Please verify:

  1. Whether this removal is intentional
  2. If an alternative keyring solution is being installed
  3. The impact on applications that depend on keyring services

🏁 Script executed:

#!/bin/bash
# Check if an alternative keyring is being installed in the Cinnamon packages
echo "=== Checking for alternative keyring packages in Cinnamon config ==="
fd -t f "packages$" config/desktop/questing/environments/cinnamon/ --exec grep -l "keyring" {} \;

echo ""
echo "=== Checking other desktop environments for gnome-keyring handling ==="
rg -n "gnome-keyring" config/desktop/questing/environments/ -C 2

echo ""
echo "=== Checking if gnome-keyring is reinstalled elsewhere ==="
fd -t f "packages$" config/desktop/questing/environments/cinnamon/ --exec cat {} \; | grep -i keyring

Length of output: 1002


I need to gather more context about what packages ARE being installed in Cinnamon (not just removed) and examine how other desktop environments handle keyring. The current data shows gnome-keyring is uninstalled in both Cinnamon and KDE-Plasma, but I need to understand what alternatives exist.

I need to examine what packages ARE being installed in Cinnamon and understand the keyring strategy across desktop environments.


🏁 Script executed:

#!/bin/bash
echo "=== Cinnamon packages being installed ==="
fd -t f "packages$" -x grep -l "^[^#]" {} \; config/desktop/questing/environments/cinnamon/config_base/ 2>/dev/null | head -5 | xargs -I {} sh -c 'echo "File: {}"; head -20 {}'

echo ""
echo "=== Check for KDE/Qt keyring alternatives ==="
rg -n "(kdeconnect|kwallet|pass|keepass)" config/desktop/questing/environments/ -i

echo ""
echo "=== List all Cinnamon package files ==="
fd -t f "packages" config/desktop/questing/environments/cinnamon/config_base/

echo ""
echo "=== Check Cinnamon packages.install for keyring-related packages ==="
cat config/desktop/questing/environments/cinnamon/config_base/packages.install 2>/dev/null | head -30

Length of output: 715


🏁 Script executed:

#!/bin/bash
echo "=== List all Cinnamon package files ==="
fd -t f "packages" config/desktop/questing/environments/cinnamon/config_base/

echo ""
echo "=== Check Cinnamon packages.install content ==="
cat config/desktop/questing/environments/cinnamon/config_base/packages.install 2>/dev/null

echo ""
echo "=== Compare: KDE-Plasma packages (looking for keyring alternatives) ==="
cat config/desktop/questing/environments/kde-plasma/config_base/packages.install 2>/dev/null | grep -i -E "(keyring|kwallet|credential|pass)" || echo "No keyring-related packages in KDE install list"

echo ""
echo "=== Search for alternative credential/keyring solutions across environments ==="
rg -i "(kwallet|pass|keepass)" config/desktop/questing/environments/ --type=txt

Length of output: 434


I need to understand the package configuration structure and whether the removal is deliberate. Let me check the broader config context.


🏁 Script executed:

#!/bin/bash
echo "=== Check structure of package files across environments ==="
for env in cinnamon kde-plasma xfce gnome; do
  echo ""
  echo "--- $env ---"
  fd -t f "^packages" config/desktop/questing/environments/$env/config_base/ 2>/dev/null || echo "  (directory not found)"
done

echo ""
echo "=== Check if there's documentation or comments about package strategy ==="
find config/desktop/questing/environments/cinnamon/ -type f \( -name "*.md" -o -name "README*" -o -name "*.txt" \) 2>/dev/null

echo ""
echo "=== Check git history for context (recent changes to cinnamon packages.uninstall) ==="
git log --oneline -n 20 -- config/desktop/questing/environments/cinnamon/config_base/packages.uninstall 2>/dev/null || echo "Git history not available"

echo ""
echo "=== Check full cinnamon packages.uninstall content ==="
cat config/desktop/questing/environments/cinnamon/config_base/packages.uninstall

Length of output: 888


🏁 Script executed:

#!/bin/bash
echo "=== Check package file structure across all environments ==="
for env in cinnamon kde-plasma xfce gnome; do
  echo ""
  echo "--- $env environment ---"
  ls -la config/desktop/questing/environments/$env/config_base/packages* 2>/dev/null | awk '{print $9, $5}' || echo "  (not found)"
done

echo ""
echo "=== Full content of cinnamon packages.uninstall ==="
cat config/desktop/questing/environments/cinnamon/config_base/packages.uninstall

echo ""
echo "=== Check if cinnamon-settings-daemon handles credentials ==="
rg -n "cinnamon-settings-daemon" config/desktop/questing/environments/cinnamon/

echo ""
echo "=== Search codebase for keyring documentation/comments ==="
find config/ -type f -exec grep -l "keyring\|credential" {} \; 2>/dev/null

Length of output: 4285


I can see this is a consistent, intentional pattern across multiple desktop environments. Let me verify whether Cinnamon actually needs gnome-keyring or if it has alternative credential management.


🌐 Web query:

Does Cinnamon desktop environment require gnome-keyring for credential storage

💡 Result:

Short answer: No — Cinnamon itself does not strictly require gnome-keyring. However, many desktop applications on Cinnamon (browsers, NetworkManager, Evolution, online accounts, etc.) expect a Secret Service (org.freedesktop.Secrets) to store credentials, and gnome-keyring is the common implementation provided on Cinnamon/Mint. If you don't install gnome-keyring you must provide an alternative secrets backend (e.g., KDE Wallet or another Secret Service) or apps will prompt/fail when trying to save/retrieve passwords. [1][2][3]

Sources:

  • Example (Opera asks gnome-keyring for browser passwords). [1]
  • Linux Mint / Cinnamon users reporting Brave/other apps need a keyring or Seahorse. [2]
  • Evolution / apps failing when gnome-keyring not installed (EndeavourOS discussion). [3]

Verify that an alternative Secret Service implementation is installed or explicitly configured.

The removal of gnome-keyring is intentional (consistent across Cinnamon, KDE-Plasma, Deepin, and Enlightenment), but verification reveals a critical gap: Cinnamon applications depend on a Secret Service (org.freedesktop.Secrets) for credential storage, yet no alternative is visible in the package list. KDE-Plasma removes gnome-keyring because it installs KWallet instead; Cinnamon shows no equivalent alternative. Without a secrets backend, browsers, NetworkManager, Evolution, and other credential-dependent applications will fail to save/retrieve passwords. The git commit is marked [WIP], suggesting incomplete configuration.

Either install an alternative secrets service (e.g., pass, KWallet, or ensure a Secret Service is configured elsewhere) or restore gnome-keyring.

🤖 Prompt for AI Agents
In config/desktop/questing/environments/cinnamon/config_base/packages.uninstall
lines 1-2, the removal of gnome-keyring leaves no Secret Service
(org.freedesktop.Secrets) backend for Cinnamon apps; either restore
gnome-keyring or ensure an alternative secret service is installed and
autostarted. Fix by adding a replacement package to the uninstall file (i.e.,
stop removing it) or by removing the uninstall entry and instead adding an
explicit install of a supported secret backend (examples: gnome-keyring,
kwalletd5 + kwallet-pam, or a libsecret/pass-based agent) and ensure it is
enabled at user session startup (systemd --user or XDG autostart) so
org.freedesktop.Secrets is provided. Ensure the chosen package provides the
Secret Service D-Bus name and update the commit message from WIP once
configured.

Comment on lines +5 to +13
# disable Pulseaudio timer scheduling which does not work with sndhdmi driver
if [ -f /etc/pulse/default.pa ]; then sed "s/load-module module-udev-detect$/& tsched=0/g" -i /etc/pulse/default.pa; fi

##dconf desktop settings
keys=/etc/dconf/db/local.d/00-desktop
profile=/etc/dconf/profile/user

install -Dv /dev/null $keys
install -Dv /dev/null $profile
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Fix sed invocation so PulseAudio tsched workaround is actually applied.

The sed call currently places -i after the script:

if [ -f /etc/pulse/default.pa ]; then sed "s/load-module module-udev-detect$/& tsched=0/g" -i /etc/pulse/default.pa; fi

With standard sed option parsing, this treats -i as an input file, so /etc/pulse/default.pa is not edited in place and you’ll just get an error about -i. The intended tsched=0 workaround never lands in default.pa.

A minimal fix is to move -i before the script and keep the file path last:

-if [ -f /etc/pulse/default.pa ]; then sed "s/load-module module-udev-detect$/& tsched=0/g" -i /etc/pulse/default.pa; fi
+if [ -f /etc/pulse/default.pa ]; then sed -i "s/load-module module-udev-detect$/& tsched=0/g" /etc/pulse/default.pa; fi

(Optional) For extra robustness, you could also quote the dconf paths when creating/appending:

-keys=/etc/dconf/db/local.d/00-desktop
-profile=/etc/dconf/profile/user
-
-install -Dv /dev/null $keys
-install -Dv /dev/null $profile
+keys=/etc/dconf/db/local.d/00-desktop
+profile=/etc/dconf/profile/user
+
+install -Dv /dev/null "$keys"
+install -Dv /dev/null "$profile"
...
-\"unplug-enabled=false" >> $keys
+\"unplug-enabled=false" >> "$keys"
...
-echo "user-db:user
-system-db:local" >> $profile
+echo "user-db:user
+system-db:local" >> "$profile"

The quoting change is non-blocking; the sed fix is required for the script to do what it advertises.

🤖 Prompt for AI Agents
In config/desktop/questing/environments/cinnamon/debian/postinst around lines 5
to 13, the sed invocation places -i after the script which sed treats as an
input file instead of the in-place edit flag; move the -i option before the
script expression (i.e. sed -i 's/.../.../' /etc/pulse/default.pa) so
/etc/pulse/default.pa is edited in place, and optionally quote the dconf path
variables when using install to avoid word-splitting (e.g. install -Dv /dev/null
"$keys" and install -Dv /dev/null "$profile").

# Disable Pulseaudio timer scheduling which does not work with sndhdmi driver
if [ -f /etc/pulse/default.pa ]; then sed "s/load-module module-udev-detect$/& tsched=0/g" -i /etc/pulse/default.pa; fi

# set wallpapper to armbian
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix typo in comment.

"wallpapper" should be "wallpaper".

-# set wallpapper to armbian
+# set wallpaper to armbian
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# set wallpapper to armbian
# set wallpaper to armbian
🤖 Prompt for AI Agents
In config/desktop/questing/environments/i3-wm/debian/postinst around line 7, the
comment contains a typo: replace "wallpapper" with the correct word "wallpaper"
so the comment reads "# set wallpaper to armbian".

@@ -0,0 +1 @@
eos
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

Verify the "eos" value – likely should be "supported".

This file contains "eos" (end of support), which contradicts establishing a new KDE Neon environment for the "questing" release. Based on the pattern in other environments (e.g., config/desktop/questing/environments/i3-wm/support contains "supported"), this should likely be "supported" instead.

Apply this diff if "supported" is the intended value:

-eos
+supported

I'll verify the file content and check the pattern across similar files.


🏁 Script executed:

#!/bin/bash
# Check the kde-neon support file
echo "=== kde-neon/support ===" 
cat config/desktop/questing/environments/kde-neon/support 2>/dev/null || echo "File not found"

# Check the i3-wm support file for comparison
echo -e "\n=== i3-wm/support ===" 
cat config/desktop/questing/environments/i3-wm/support 2>/dev/null || echo "File not found"

# List all support files in questing environments to see the pattern
echo -e "\n=== All support files in questing/environments ===" 
find config/desktop/questing/environments -name "support" -type f 2>/dev/null | sort | while read f; do
  echo "File: $f"
  cat "$f"
  echo ""
done

Length of output: 315


Fix kde-neon environment support status to align with pattern.

The config/desktop/questing/environments/kde-neon/support file contains "eos", which is inconsistent with other environments in the same directory (cinnamon/support and i3-wm/support both contain "supported"). This contradicts establishing a new KDE Neon environment for the questing release.

-eos
+supported
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
eos
supported
🤖 Prompt for AI Agents
In config/desktop/questing/environments/kde-neon/support around line 1, the file
currently contains "eos" which is inconsistent with other environment support
files; replace the content with "supported" (exactly matching the pattern used
by cinnamon/support and i3-wm/support) so the KDE Neon environment is marked as
supported for the questing release.

@@ -0,0 +1 @@
../../../jammy/environments/kde-plasma/architectures No newline at end of file
Copy link
Contributor

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

Verify the base release reference – "jammy" vs "plucky".

This file references ../../../jammy/environments/kde-plasma/architectures, but the PR description mentions "Takes plucky" as the base. Please confirm whether:

  • Inheriting from "jammy" (Ubuntu 22.04 LTS) is intentional for the "questing" release, or
  • This should reference "plucky" instead, or
  • This should follow the pattern of other environments by referencing a common path (e.g., ../../../common/environments/kde-plasma/architectures)

Run the following to check what exists in the repository:


🏁 Script executed:

#!/bin/bash
# Description: Check available KDE Plasma architecture definitions

echo "=== Checking jammy kde-plasma architectures ==="
fd -t f "architectures" config/desktop/jammy/environments/kde-plasma/

echo -e "\n=== Checking plucky kde-plasma architectures ==="
fd -t f "architectures" config/desktop/plucky/environments/kde-plasma/

echo -e "\n=== Checking common kde-plasma architectures ==="
fd -t f "architectures" config/desktop/common/environments/kde-plasma/

Length of output: 207



---

🏁 Script executed:

```shell
#!/bin/bash
# Description: Verify the questing environment structure and check for the actual file

echo "=== Checking questing kde-plasma environment structure ==="
fd -t f "." config/desktop/questing/environments/kde-plasma/

echo -e "\n=== Checking if questing/kde-plasma/architectures is a symlink or file ==="
ls -la config/desktop/questing/environments/kde-plasma/architectures 2>/dev/null || echo "File not found"

echo -e "\n=== Checking target of symlink if it exists ==="
readlink -f config/desktop/questing/environments/kde-plasma/architectures 2>/dev/null || echo "Cannot resolve symlink"

echo -e "\n=== Comparing with other environments (e.g., GNOME pattern) ==="
find config/desktop/questing/environments -name "architectures" -type f -o -type l

Length of output: 494



🏁 Script executed:

#!/bin/bash
# Description: Search for any questing references and understand the PR scope

echo "=== Searching for 'questing' in the repository ==="
rg -i "questing" --type-list | head -20

echo -e "\n=== Checking all desktop environments structure ==="
fd -t d "environments" config/desktop/ --max-depth 2

echo -e "\n=== Checking architectures file patterns across environments ==="
find config/desktop/*/environments/*/architectures -type f -o -type l 2>/dev/null | head -20

echo -e "\n=== Checking what other environments reference ==="
for f in $(find config/desktop/*/environments -name "architectures" -type l 2>/dev/null | head -5); do
  echo "File: $f"
  readlink "$f" 2>/dev/null || echo "  (regular file)"
done

Length of output: 2597



🏁 Script executed:

#!/bin/bash
# Description: Verify the exact symlink target in questing kde-plasma

echo "=== Checking questing kde-plasma architectures symlink ==="
ls -la config/desktop/questing/environments/kde-plasma/architectures

echo -e "\n=== Symlink target ==="
readlink config/desktop/questing/environments/kde-plasma/architectures

echo -e "\n=== Resolved absolute path ==="
readlink -f config/desktop/questing/environments/kde-plasma/architectures

Length of output: 411


Fix symlink to follow the established pattern – point to common instead of jammy.

The symlink currently references ../../../jammy/environments/kde-plasma/architectures, but all other releases (jammy, bookworm, forky, plucky, etc.) point directly to ../../../common/environments/{env}/architectures. While the reference resolves correctly (jammy's architectures itself symlinks to common), the indirection is inconsistent and unnecessary.

Update to: ../../../common/environments/kde-plasma/architectures

🤖 Prompt for AI Agents
In config/desktop/questing/environments/kde-plasma/architectures at lines 1-1,
the symlink points to ../../../jammy/environments/kde-plasma/architectures which
adds an unnecessary indirection; change the symlink target to
../../../common/environments/kde-plasma/architectures so it follows the
established pattern used by other releases.

Comment on lines +1 to +2
gnome-software
gnome-keyring
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

❓ Verification inconclusive

Consider the impact of removing gnome-keyring.

While removing gnome-software makes sense in a KDE Plasma environment, removing gnome-keyring may have unintended consequences. Many cross-desktop applications (browsers like Firefox and Chromium, development tools, etc.) rely on gnome-keyring for credential storage even in non-GNOME environments. KDE provides kwallet as an alternative, but not all applications support it natively.

Consider testing that credential storage works properly for common applications after this removal, or document this as a known limitation.


I'll verify the claims in the review comment by searching for information about gnome-keyring dependencies and alternatives in KDE Plasma environments.

Let me search for more specific information about KDE Plasma systems without GNOME components and best practices.

Review comment verified; concern about gnome-keyring removal is valid but appropriately scoped.

Cross-platform applications like Firefox and Chrome can use the Secret Service API to store passwords, and may default to GNOME Keyring if installed, with success depending on system setup. While generally not recommended to use GNOME Keyring on Kubuntu, forcing it to manage passwords that KWallet is handling can lead to conflicts and potential issues.

However, KDE Plasma's official credential management is KWallet, and the environment doesn't require GNOME Keyring for core password management needs. The actual impact depends on specific applications in use—some applications like Minecraft explicitly require gnome-keyring to stay logged in, while Firefox/Chromium can integrate with KWallet via specific plugins.

Your recommendation to test credential storage after removal or document known limitations is sound. For a minimal KDE Plasma environment, removing gnome-keyring aligns with best practices, but users should be aware that certain cross-desktop or GNOME-specific applications may fail without it or require manual workarounds.

libnotify-bin
libpam-gnome-keyring
libproxy1-plugin-gsettings
libu2f-udev
Copy link
Contributor

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

Clarify libu2f-udev package status.

The PR description mentions commenting out "lib2uf-udev" as a transitional package, but this file includes "libu2f-udev" (note the slightly different spelling). Please clarify:

  1. Is "libu2f-udev" the package mentioned in the PR description (possible typo)?
  2. Should this package be removed as a transitional package for Questing?

🌐 Web query:

Is libu2f-udev a transitional package in Ubuntu 25.04 Questing?

💡 Result:

Yes. libu2f-udev is a transitional (unnecessary) package — U2F device support is handled by udev/systemd now. See Debian package description and Ubuntu (Launchpad) package/bug pages. [1][2]

Sources:
[1] Debian package page for libu2f-udev (transitional).
[2] Ubuntu Launchpad package/bug pages noting libu2f-udev is unnecessary since udev/systemd v244.


Confirm libu2f-udev is a transitional package; clarify removal intent.

The file correctly includes "libu2f-udev" (note: the PR description appears to have a typo: "lib2uf-udev"). libu2f-udev is confirmed as a transitional (unnecessary) package—U2F device support is handled by udev/systemd now. If the PR intent is to remove transitional packages for Questing, this should be removed. Otherwise, please explain the rationale for keeping it.

🤖 Prompt for AI Agents
In config/desktop/questing/environments/xfce/config_base/packages around line 56
the entry "libu2f-udev" is a known transitional package; if your intent is to
drop transitional/unnecessary packages for Questing, remove this line from the
package list; otherwise keep it but add a brief inline comment explaining why it
must remain (e.g., compatibility for X) and update the PR description to fix the
typo ("lib2uf-udev" -> "libu2f-udev") so reviewers understand the rationale.

@igorpecovnik
Copy link
Member

New Ubuntu would be sane to move to APA https://github.com/armbian/apa way. Debian Sid is suppose to be adopted already. Check notes and hope @leggewie can provide some hints.

@leggewie
Copy link
Collaborator

leggewie commented Nov 19, 2025

New Ubuntu would be sane to move to APA https://github.com/armbian/apa way. Debian Sid is suppose to be adopted already.

Agree with Igor that the latest Ubuntu+1 should be going to APA. We are trying to bring sanity to package management and phase out the old ways.

some related commits for sid that can serve as reminder
e7b21f6
76e35eb

leggewie added a commit to leggewie/armbian-build that referenced this pull request Nov 19, 2025
leggewie added a commit to leggewie/armbian-build that referenced this pull request Nov 19, 2025
leggewie added a commit to leggewie/armbian-build that referenced this pull request Nov 19, 2025
leggewie added a commit to leggewie/armbian-build that referenced this pull request Nov 19, 2025
leggewie added a commit to leggewie/armbian-build that referenced this pull request Nov 19, 2025
leggewie added a commit to leggewie/armbian-build that referenced this pull request Nov 19, 2025
@tabrisnet
Copy link
Collaborator Author

closed in preference to #8969

@tabrisnet tabrisnet closed this Nov 19, 2025
igorpecovnik pushed a commit that referenced this pull request Nov 20, 2025
jonaswood01 added a commit to TexasInstruments/armbian-build that referenced this pull request Nov 25, 2025
* live_main_upstream/main: (227 commits)
  rockchip64: rewrite patches
  rockchip64: remove upstreamed fixes
  Change mainline to rc7, manually fix meson64 patch
  `Automatic` board configs status synchronise
  KERNEL_TEST_TARGET is just override. We won't both targets, so we have both.
  rk3576: nanopi-r76s: add mainline u-boot and fix USB3.0 host (armbian#8997)
  Rock-5B-Plus: Use upstream device-tree name
  Radxa E54c: change board support status
  `Automatic` board configs status synchronise
  `Automatic` board configs status synchronise
  build(deps): bump tj-actions/changed-files
  bananapi-r4 bpi-r4 board config - no video output
  build(deps): bump actions/checkout from 5 to 6
  Radxa Rock 2A and F: promote boards to standard support
  config: drop questing and resolute symlinks for package definitions
  Drop Thunderbolt in desktop packages, but enable in minimal, arch amd64 only
  Update radxa-e52c.conf
  boards / Helios4: reorder some lines in the config file
  boards / Helios4: Fix: libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
  boards / Helios4: fix 0002 patch after bump U-Boot v2025.10
  boards / Helios4: rebase previous u-boot patchset to v2025.10
  boards / Helios4: reenable Armbian patchset
  boards / Helios4: drop obsolete patches and those not applicable to helios4
  boards / Helios4: rename some patches in preparation for rebase
  boards / Helios4: enable SATA u-boot artifact
  boards / Helios4: switch U-Boot to mainline 2025.10
  radxa-rock-4d: Move to standard support (armbian#8981)
  Sync support status to match with /download
  Rock5B+: Udev rule for Radxa Display 8HD
  sunxi64: Enable KVM virtualization support for current kernel
  Discord x86: add external sources
  `Automatic` board configs status synchronise
  rock-5b: u-boot: edge: bump to v2026.01-rc2; use mainline ATF; bootorder; fancy u-boot
  Desktop (mainly Gnome ) - add additional packages, small fixes and improvements
  lib / main-config.sh: enable APA extension for questing and resolute builds. Closes: armbian#8966
  ti: configs: boards: Add BOOT_SOC variable
  ti: configs: boards: Add AM62L EVM (tmds62levm) board support
  Rock5B-Plus and Rock5T: Use upstream u-boot (armbian#8918)
  youyeetoo-r1: enable OUT1/OUT2 switches for es8323 headphone output on vendor kernel (armbian#8963)
  Fixing updating submodule
  Powere management - make it conditional, enable on UEFI targets, else disabled
  `Automatic` board configs status synchronise
  uefi: x86: current (6.12) and edge (6.18): add Apple T2 patches
  Add watchdog package into image, hardware watchdog works
  Allow Helios64 to do separate /boot partition only if root placed on fs than unbootable for device
  u-boot: prepare v2026.01 patch directory
  Move gxlimg to board level and some clean
  rockchip: cleanup and rewrite patches for `edge`
  rockchip: cleanup and rewrite patches for `current`
  nanopct6(-lts): u-boot: bump to v2026.01-rc2
  odroidhc4: u-boot: bump to v2026.01-rc2
  cm3588-nas: u-boot: bump to v2026.01-rc2, enable BTRFS support
  cm3588-nas: u-boot: fix `led-1` to `green` for preboot blinking
  khadas-vim3l: u-boot: bump to v2026.01-rc2, enable BTRFS and more
  nanopi-r6c: u-boot: bump to v2026.01-rc2; enable BTRFS support
  uefi-loong64-6.18: rewrite patches against v6.18-rc6, no changes
  mainline-kernel: bump 6.18 to v6.18-rc6
  jsoninfo: introduce `inventory-artifacts` cli
  artifact-kernel: include LINUXCONFIG and ARMBIAN_KERNEL_DEB_NAME in artifact_input_variables
  config/templates: introduce targets-all-kernels.yaml for optimized kernel inventory-ing
  Upgrade Allwinner CURRENT kernels to latest
  Generic bootscript template
  Enable bootscript templating
  `Automatic` board configs status synchronise
  BeagleBoard and Description Updates
  ti: configs: family: k3: Update vendor-edge to pull latest TI PSDK tag
  ti: configs: family: k3: Update to bootable Processor SDK release tag
  ti: configs: family: k3: Add upstream edge branch
  ti: configs: family: k3: Change current/edge to vendor/vendor-edge
  sm8250 current: Add support to load QUP SE Firmware via Linux subsystem
  `Automatic` board configs status synchronise
  extensions: gxlimg: Update repo URL
  nanopi-m6: drop vendor uboot
  nanopi-r6s: remove old legacy uboot files && update mainline uboot
  sm8250 current: Select all USB CAN adapters under the CAN USB interfaces menu as M
  sm8250 current: Select all USB network adapters under the USB_NET_DRIVERS menu as M
  tools: Bump `BATCAT_VERSION` from 0.25.0 to 0.26.0
  `Automatic` board configs status synchronise
  Add Ubuntu 25.10 / 26.04 questing and resolute as csc build target, demote Bookworm to csc
  Related to armbian/documentation#842, update extensions/gen-sample-extension-docs.sh to reference the opt-out docs for hooks
  rockchip: rk3576: Fix serial console to use UART0 (ttyS0) (armbian#8936)
  Drop patches that has been upstreamed - rockchip and sm8550
  orangepi5: drop vendor uboot
  MOTD: deterministic spacing, tidy and compact output
  Bugfix: quotes were downloading to wrong location
  maint: cleanup board config files (armbian#8929)
  Use next patch version when using main action script
  Helios64: workaround fancontrol /dev restriction vs Helios64 udev /dev symlinks
  Add type of bootable fs for ODroid-N2
  Preserve timestamps when copying log files
  Rockchip64: enable Qcom ath12 (wifi 7) support
  UFS: Fix CI behavior (armbian#8924)
  UFS: Fix ci config generation (armbian#8923)
  First login: create docker group and add normal user to it (armbian#8920)
  Framework: copy user provided first boot config at build time
  `Automatic` board configs status synchronise
  k3-beagle: Add config for BeagleBoard.org Linux and U-Boot
  k3: Factor out all K3 common configuration into k3_common.inc
  k3: Use CORESDK_TAG for setting ATFBRANCH
  beagley-ai: Switch current branch to 6.12 Beagle kernel
  ...

Signed-off-by: Jonas Wood <[email protected]>
jonaswood01 added a commit to TexasInstruments/armbian-build that referenced this pull request Nov 25, 2025
* live_main_upstream/main: (227 commits)
  rockchip64: rewrite patches
  rockchip64: remove upstreamed fixes
  Change mainline to rc7, manually fix meson64 patch
  `Automatic` board configs status synchronise
  KERNEL_TEST_TARGET is just override. We won't both targets, so we have both.
  rk3576: nanopi-r76s: add mainline u-boot and fix USB3.0 host (armbian#8997)
  Rock-5B-Plus: Use upstream device-tree name
  Radxa E54c: change board support status
  `Automatic` board configs status synchronise
  `Automatic` board configs status synchronise
  build(deps): bump tj-actions/changed-files
  bananapi-r4 bpi-r4 board config - no video output
  build(deps): bump actions/checkout from 5 to 6
  Radxa Rock 2A and F: promote boards to standard support
  config: drop questing and resolute symlinks for package definitions
  Drop Thunderbolt in desktop packages, but enable in minimal, arch amd64 only
  Update radxa-e52c.conf
  boards / Helios4: reorder some lines in the config file
  boards / Helios4: Fix: libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
  boards / Helios4: fix 0002 patch after bump U-Boot v2025.10
  boards / Helios4: rebase previous u-boot patchset to v2025.10
  boards / Helios4: reenable Armbian patchset
  boards / Helios4: drop obsolete patches and those not applicable to helios4
  boards / Helios4: rename some patches in preparation for rebase
  boards / Helios4: enable SATA u-boot artifact
  boards / Helios4: switch U-Boot to mainline 2025.10
  radxa-rock-4d: Move to standard support (armbian#8981)
  Sync support status to match with /download
  Rock5B+: Udev rule for Radxa Display 8HD
  sunxi64: Enable KVM virtualization support for current kernel
  Discord x86: add external sources
  `Automatic` board configs status synchronise
  rock-5b: u-boot: edge: bump to v2026.01-rc2; use mainline ATF; bootorder; fancy u-boot
  Desktop (mainly Gnome ) - add additional packages, small fixes and improvements
  lib / main-config.sh: enable APA extension for questing and resolute builds. Closes: armbian#8966
  ti: configs: boards: Add BOOT_SOC variable
  ti: configs: boards: Add AM62L EVM (tmds62levm) board support
  Rock5B-Plus and Rock5T: Use upstream u-boot (armbian#8918)
  youyeetoo-r1: enable OUT1/OUT2 switches for es8323 headphone output on vendor kernel (armbian#8963)
  Fixing updating submodule
  Powere management - make it conditional, enable on UEFI targets, else disabled
  `Automatic` board configs status synchronise
  uefi: x86: current (6.12) and edge (6.18): add Apple T2 patches
  Add watchdog package into image, hardware watchdog works
  Allow Helios64 to do separate /boot partition only if root placed on fs than unbootable for device
  u-boot: prepare v2026.01 patch directory
  Move gxlimg to board level and some clean
  rockchip: cleanup and rewrite patches for `edge`
  rockchip: cleanup and rewrite patches for `current`
  nanopct6(-lts): u-boot: bump to v2026.01-rc2
  odroidhc4: u-boot: bump to v2026.01-rc2
  cm3588-nas: u-boot: bump to v2026.01-rc2, enable BTRFS support
  cm3588-nas: u-boot: fix `led-1` to `green` for preboot blinking
  khadas-vim3l: u-boot: bump to v2026.01-rc2, enable BTRFS and more
  nanopi-r6c: u-boot: bump to v2026.01-rc2; enable BTRFS support
  uefi-loong64-6.18: rewrite patches against v6.18-rc6, no changes
  mainline-kernel: bump 6.18 to v6.18-rc6
  jsoninfo: introduce `inventory-artifacts` cli
  artifact-kernel: include LINUXCONFIG and ARMBIAN_KERNEL_DEB_NAME in artifact_input_variables
  config/templates: introduce targets-all-kernels.yaml for optimized kernel inventory-ing
  Upgrade Allwinner CURRENT kernels to latest
  Generic bootscript template
  Enable bootscript templating
  `Automatic` board configs status synchronise
  BeagleBoard and Description Updates
  ti: configs: family: k3: Update vendor-edge to pull latest TI PSDK tag
  ti: configs: family: k3: Update to bootable Processor SDK release tag
  ti: configs: family: k3: Add upstream edge branch
  ti: configs: family: k3: Change current/edge to vendor/vendor-edge
  sm8250 current: Add support to load QUP SE Firmware via Linux subsystem
  `Automatic` board configs status synchronise
  extensions: gxlimg: Update repo URL
  nanopi-m6: drop vendor uboot
  nanopi-r6s: remove old legacy uboot files && update mainline uboot
  sm8250 current: Select all USB CAN adapters under the CAN USB interfaces menu as M
  sm8250 current: Select all USB network adapters under the USB_NET_DRIVERS menu as M
  tools: Bump `BATCAT_VERSION` from 0.25.0 to 0.26.0
  `Automatic` board configs status synchronise
  Add Ubuntu 25.10 / 26.04 questing and resolute as csc build target, demote Bookworm to csc
  Related to armbian/documentation#842, update extensions/gen-sample-extension-docs.sh to reference the opt-out docs for hooks
  rockchip: rk3576: Fix serial console to use UART0 (ttyS0) (armbian#8936)
  Drop patches that has been upstreamed - rockchip and sm8550
  orangepi5: drop vendor uboot
  MOTD: deterministic spacing, tidy and compact output
  Bugfix: quotes were downloading to wrong location
  maint: cleanup board config files (armbian#8929)
  Use next patch version when using main action script
  Helios64: workaround fancontrol /dev restriction vs Helios64 udev /dev symlinks
  Add type of bootable fs for ODroid-N2
  Preserve timestamps when copying log files
  Rockchip64: enable Qcom ath12 (wifi 7) support
  UFS: Fix CI behavior (armbian#8924)
  UFS: Fix ci config generation (armbian#8923)
  First login: create docker group and add normal user to it (armbian#8920)
  Framework: copy user provided first boot config at build time
  `Automatic` board configs status synchronise
  k3-beagle: Add config for BeagleBoard.org Linux and U-Boot
  k3: Factor out all K3 common configuration into k3_common.inc
  k3: Use CORESDK_TAG for setting ATFBRANCH
  beagley-ai: Switch current branch to 6.12 Beagle kernel
  ...

Signed-off-by: Jonas Wood <[email protected]>
jonaswood01 added a commit to TexasInstruments/armbian-build that referenced this pull request Nov 25, 2025
* live_main_upstream/main: (227 commits)
  rockchip64: rewrite patches
  rockchip64: remove upstreamed fixes
  Change mainline to rc7, manually fix meson64 patch
  `Automatic` board configs status synchronise
  KERNEL_TEST_TARGET is just override. We won't both targets, so we have both.
  rk3576: nanopi-r76s: add mainline u-boot and fix USB3.0 host (armbian#8997)
  Rock-5B-Plus: Use upstream device-tree name
  Radxa E54c: change board support status
  `Automatic` board configs status synchronise
  `Automatic` board configs status synchronise
  build(deps): bump tj-actions/changed-files
  bananapi-r4 bpi-r4 board config - no video output
  build(deps): bump actions/checkout from 5 to 6
  Radxa Rock 2A and F: promote boards to standard support
  config: drop questing and resolute symlinks for package definitions
  Drop Thunderbolt in desktop packages, but enable in minimal, arch amd64 only
  Update radxa-e52c.conf
  boards / Helios4: reorder some lines in the config file
  boards / Helios4: Fix: libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
  boards / Helios4: fix 0002 patch after bump U-Boot v2025.10
  boards / Helios4: rebase previous u-boot patchset to v2025.10
  boards / Helios4: reenable Armbian patchset
  boards / Helios4: drop obsolete patches and those not applicable to helios4
  boards / Helios4: rename some patches in preparation for rebase
  boards / Helios4: enable SATA u-boot artifact
  boards / Helios4: switch U-Boot to mainline 2025.10
  radxa-rock-4d: Move to standard support (armbian#8981)
  Sync support status to match with /download
  Rock5B+: Udev rule for Radxa Display 8HD
  sunxi64: Enable KVM virtualization support for current kernel
  Discord x86: add external sources
  `Automatic` board configs status synchronise
  rock-5b: u-boot: edge: bump to v2026.01-rc2; use mainline ATF; bootorder; fancy u-boot
  Desktop (mainly Gnome ) - add additional packages, small fixes and improvements
  lib / main-config.sh: enable APA extension for questing and resolute builds. Closes: armbian#8966
  ti: configs: boards: Add BOOT_SOC variable
  ti: configs: boards: Add AM62L EVM (tmds62levm) board support
  Rock5B-Plus and Rock5T: Use upstream u-boot (armbian#8918)
  youyeetoo-r1: enable OUT1/OUT2 switches for es8323 headphone output on vendor kernel (armbian#8963)
  Fixing updating submodule
  Powere management - make it conditional, enable on UEFI targets, else disabled
  `Automatic` board configs status synchronise
  uefi: x86: current (6.12) and edge (6.18): add Apple T2 patches
  Add watchdog package into image, hardware watchdog works
  Allow Helios64 to do separate /boot partition only if root placed on fs than unbootable for device
  u-boot: prepare v2026.01 patch directory
  Move gxlimg to board level and some clean
  rockchip: cleanup and rewrite patches for `edge`
  rockchip: cleanup and rewrite patches for `current`
  nanopct6(-lts): u-boot: bump to v2026.01-rc2
  odroidhc4: u-boot: bump to v2026.01-rc2
  cm3588-nas: u-boot: bump to v2026.01-rc2, enable BTRFS support
  cm3588-nas: u-boot: fix `led-1` to `green` for preboot blinking
  khadas-vim3l: u-boot: bump to v2026.01-rc2, enable BTRFS and more
  nanopi-r6c: u-boot: bump to v2026.01-rc2; enable BTRFS support
  uefi-loong64-6.18: rewrite patches against v6.18-rc6, no changes
  mainline-kernel: bump 6.18 to v6.18-rc6
  jsoninfo: introduce `inventory-artifacts` cli
  artifact-kernel: include LINUXCONFIG and ARMBIAN_KERNEL_DEB_NAME in artifact_input_variables
  config/templates: introduce targets-all-kernels.yaml for optimized kernel inventory-ing
  Upgrade Allwinner CURRENT kernels to latest
  Generic bootscript template
  Enable bootscript templating
  `Automatic` board configs status synchronise
  BeagleBoard and Description Updates
  ti: configs: family: k3: Update vendor-edge to pull latest TI PSDK tag
  ti: configs: family: k3: Update to bootable Processor SDK release tag
  ti: configs: family: k3: Add upstream edge branch
  ti: configs: family: k3: Change current/edge to vendor/vendor-edge
  sm8250 current: Add support to load QUP SE Firmware via Linux subsystem
  `Automatic` board configs status synchronise
  extensions: gxlimg: Update repo URL
  nanopi-m6: drop vendor uboot
  nanopi-r6s: remove old legacy uboot files && update mainline uboot
  sm8250 current: Select all USB CAN adapters under the CAN USB interfaces menu as M
  sm8250 current: Select all USB network adapters under the USB_NET_DRIVERS menu as M
  tools: Bump `BATCAT_VERSION` from 0.25.0 to 0.26.0
  `Automatic` board configs status synchronise
  Add Ubuntu 25.10 / 26.04 questing and resolute as csc build target, demote Bookworm to csc
  Related to armbian/documentation#842, update extensions/gen-sample-extension-docs.sh to reference the opt-out docs for hooks
  rockchip: rk3576: Fix serial console to use UART0 (ttyS0) (armbian#8936)
  Drop patches that has been upstreamed - rockchip and sm8550
  orangepi5: drop vendor uboot
  MOTD: deterministic spacing, tidy and compact output
  Bugfix: quotes were downloading to wrong location
  maint: cleanup board config files (armbian#8929)
  Use next patch version when using main action script
  Helios64: workaround fancontrol /dev restriction vs Helios64 udev /dev symlinks
  Add type of bootable fs for ODroid-N2
  Preserve timestamps when copying log files
  Rockchip64: enable Qcom ath12 (wifi 7) support
  UFS: Fix CI behavior (armbian#8924)
  UFS: Fix ci config generation (armbian#8923)
  First login: create docker group and add normal user to it (armbian#8920)
  Framework: copy user provided first boot config at build time
  `Automatic` board configs status synchronise
  k3-beagle: Add config for BeagleBoard.org Linux and U-Boot
  k3: Factor out all K3 common configuration into k3_common.inc
  k3: Use CORESDK_TAG for setting ATFBRANCH
  beagley-ai: Switch current branch to 6.12 Beagle kernel
  ...

Signed-off-by: Jonas Wood <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

02 Milestone: First quarter release Desktop Graphical user interface Needs review Seeking for review size/large PR with 250 lines or more Work in progress Unfinished / work in progress

Development

Successfully merging this pull request may close these issues.

3 participants