-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
[WIP] Issue #8965 - partial fixes for RELEASE=questing #8966
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThis PR establishes a comprehensive desktop environment provisioning framework under Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~35 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review |
…_ENVIRONMENT=kde-plasma
f1d8f76 to
b9af930
Compare
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this 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 duplicategnome-disk-utilityentry.
gnome-disk-utilityis 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-screenshotconfig/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 forarmbian.xmlall 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
mvcommands will fail if the source files don't exist (e.g., if the postinst script runs multiple times). Consider checking file existence or usingmv -fwith 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.confAlso 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:
- Removing this line if the wallpaper is already configured via the config files
- 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.
📒 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/debianconfig/desktop/questing/environments/kde-plasma/config_base/packagesconfig/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.shconfig/desktop/questing/environments/kde-neon/armbianconfig/desktop/questing/environments/xfce/armbianconfig/desktop/questing/environments/cinnamon/armbian/create_desktop_package.shconfig/desktop/questing/environments/i3-wm/debian/postinstconfig/desktop/questing/environments/kde-plasma/armbianconfig/desktop/questing/environments/cinnamon/debian/postinstconfig/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.shconfig/desktop/questing/environments/xfce/armbianconfig/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.shconfig/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/armbianconfig/desktop/questing/environments/kde-neon/sources/apt/neon.sourceconfig/desktop/questing/environments/kde-plasma/armbianconfig/desktop/questing/environments/kde-neon/debianconfig/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/postinstconfig/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
pithosis 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/gnomecorrectly references an existing directory atconfig/desktop/common/environments/gnomecontaining 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, andsimple-scanare 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.uninstallmatches 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-udevhere 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/supportresolves to a valid directory atconfig/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/debiancorrectly 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/architecturesexists 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/armbianfile 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-browserandfirefoxare 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/packagesfile, 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.confis 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:
- Remove "neon-desktop" and keep the standard Ubuntu packages, or
- 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 -awill 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
| gnome-software | ||
| gnome-keyring |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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:
- Whether this removal is intentional
- If an alternative keyring solution is being installed
- 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 keyringLength 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 -30Length 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=txtLength 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.uninstallLength 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/nullLength 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.
| # 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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; fiWith 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| # 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 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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
+supportedI'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 ""
doneLength 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.
| 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 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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)"
doneLength 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/architecturesLength 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.
| gnome-software | ||
| gnome-keyring |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❓ 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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:
- Is "libu2f-udev" the package mentioned in the PR description (possible typo)?
- 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.
|
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. |
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 |
|
closed in preference to #8969 |
* 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]>
* 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]>
* 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]>
Description
see #8965 for the issue.
This basically takes
plucky, unlinks thekde-plasmafiles so we can change the pkg list.replaces
plasma-desktop-waylandwithplasma-desktopcomments out
lib2uf-udevas 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.
rootfscreation 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=yesSummary by CodeRabbit
Release Notes