From a84a99cc24b65a31447c14d336e8511d166c0029 Mon Sep 17 00:00:00 2001 From: vasilito Date: Tue, 30 Jun 2026 15:59:36 +0300 Subject: [PATCH] build-cache: package groups in config + installer local fork (Phase 3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - config/redbear-full.toml: 9 package groups defined (graphics-core, input-stack, dbus-services, firmware-stack, qt6-core, qt6-extras, kf6-frameworks, desktop-session, kde-desktop) - Cargo.toml: switch redox_installer from upstream git to local fork (path = "local/sources/installer") to use package group support - Cargo.lock: remove installer git source entry - local/sources/installer: bump to package groups commit Groups are resolved transparently by Config::from_file() — the cookbook repo binary sees expanded packages automatically. --- Cargo.lock | 1 - Cargo.toml | 2 +- config/redbear-full.toml | 60 ++++++++++++++++++++++++++++++++++++++++ local/sources/installer | 2 +- 4 files changed, 62 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a56460325d..4c36bba87a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -895,7 +895,6 @@ dependencies = [ [[package]] name = "redox_installer" version = "0.2.42" -source = "git+https://gitlab.redox-os.org/redox-os/installer.git#1c2534e44c68ace0a21db2a1bc9503945a38c809" dependencies = [ "anyhow", "arg_parser", diff --git a/Cargo.toml b/Cargo.toml index bf4634cea9..7762ea23e5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ pkgar = { git = "https://gitlab.redox-os.org/redox-os/pkgar.git" } pkgar-core = { git = "https://gitlab.redox-os.org/redox-os/pkgar.git" } pkgar-keys = { git = "https://gitlab.redox-os.org/redox-os/pkgar.git" } redox-pkg = { git = "https://gitlab.redox-os.org/redox-os/pkgutils.git", default-features = false } -redox_installer = { git = "https://gitlab.redox-os.org/redox-os/installer.git", default-features = false } +redox_installer = { path = "local/sources/installer", default-features = false } redoxer = { git = "https://gitlab.redox-os.org/redox-os/redoxer.git", default-features = false } regex = "1.11" serde = { version = "=1.0.197", features = ["derive"] } diff --git a/config/redbear-full.toml b/config/redbear-full.toml index b5cb8e04f4..30986e5ae0 100644 --- a/config/redbear-full.toml +++ b/config/redbear-full.toml @@ -12,6 +12,66 @@ include = ["redbear-mini.toml"] [general] filesystem_size = 4096 +# Package groups — meta-package definitions for logical grouping of the +# desktop stack. Reference a group in [packages] with `group-name = {}` +# to include all its packages. Groups can reference other groups. +# The installer resolves all group references before building/installing. + +[package_groups.graphics-core] +description = "Core graphics stack (DRM, Mesa, Wayland compositor)" +packages = ["redox-drm", "mesa", "libdrm", "libwayland", "wayland-protocols", "redbear-compositor"] + +[package_groups.input-stack] +description = "Input device support (evdev, libinput, keymaps, IME, accessibility)" +packages = ["libevdev", "libinput", "redbear-keymapd", "redbear-ime", "redbear-accessibility"] + +[package_groups.dbus-services] +description = "D-Bus system bus and session broker" +packages = ["expat", "dbus"] + +[package_groups.firmware-stack] +description = "Firmware loading infrastructure" +packages = ["redbear-firmware", "firmware-loader"] + +[package_groups.qt6-core] +description = "Qt 6 core modules" +packages = ["qtbase", "qtdeclarative", "qtsvg"] + +[package_groups.qt6-extras] +description = "Qt 6 additional modules (Wayland, sensors)" +packages = ["qtwayland", "qt6-wayland-smoke", "qt6-sensors"] + +[package_groups.kf6-frameworks] +description = "KDE Frameworks 6 (all 38 frameworks)" +packages = [ + "kf6-attica", "kf6-karchive", "kf6-kauth", "kf6-kbookmarks", + "kf6-kcmutils", "kf6-kcodecs", "kf6-kcolorscheme", "kf6-kcompletion", + "kf6-kconfig", "kf6-kconfigwidgets", "kf6-kcoreaddons", "kf6-kcrash", + "kf6-kdbusaddons", "kf6-kdeclarative", "kf6-kded6", "kf6-kguiaddons", + "kf6-ki18n", "kf6-kiconthemes", "kf6-kidletime", "kf6-kitemmodels", + "kf6-kitemviews", "kf6-kjobwidgets", "kf6-knotifications", "kf6-kpackage", + "kf6-kservice", "kf6-ktextwidgets", "kf6-kwayland", "kf6-kwidgetsaddons", + "kf6-kxmlgui", "kf6-prison", "kf6-solid", "kf6-sonnet", + "kf6-knewstuff", "kf6-kwallet", "kf6-kglobalaccel", "kf6-pty", + "kf6-notifyconfig", "kf6-parts", "kf6-kio", +] + +[package_groups.desktop-session] +description = "Display manager, greeter, auth, and session bootstrap" +packages = [ + "kwin", "kdecoration", "sddm", + "redbear-authd", "redbear-session-launch", "seatd", + "redbear-greeter", "pam-redbear", +] + +[package_groups.kde-desktop] +description = "Complete KDE Plasma desktop stack (all groups combined)" +packages = [ + "graphics-core", "input-stack", "dbus-services", "firmware-stack", + "qt6-core", "qt6-extras", "kf6-frameworks", "desktop-session", + "icu", "konsole", "kglobalacceld", "amdgpu", +] + [users.messagebus] uid = 100 gid = 100 diff --git a/local/sources/installer b/local/sources/installer index 451813b2da..e45ce4d57a 160000 --- a/local/sources/installer +++ b/local/sources/installer @@ -1 +1 @@ -Subproject commit 451813b2da8eac7c717b46d71efbbaafc4e443bc +Subproject commit e45ce4d57ac56a79a8c91b3bad94d5af62ddfe78