redbear-mini: strip GUI/desktop stack — mini is purely text-only

mini's [packages] wrongly bundled the desktop/session stack (belongs to
redbear-full): removed redbear-{compositor,statusnotifierwatcher,notifications,
accessibility,ime,greeter,session-launch,sessiond,dbus-services,upower,udisks,
polkit} and dbus, plus their init service blocks (12_dbus, 13_redbear-sessiond,
14_redbear-{upower,udisks,polkit}), the polkit policy.toml, and the /var/lib/dbus
+ /run/dbus runtime dirs. No kept text-only package depends on any of these
(verified), redbear-bare ships none of them, and mini's includes start none of
their binaries. Text login remains the initfs getty/brush chain. Kept
text-relevant drivers (iwlwifi, btusb) and infra (keymapd, authd, iommu).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-28 16:18:41 +09:00
parent 1943b2e101
commit 5b0ca575ba
+5 -135
View File
@@ -83,14 +83,13 @@ driver-params = {}
redbear-login-protocol = {}
redbear-tui-theme = {}
redbear-meta = {}
redbear-accessibility = {}
redbear-ime = {}
redbear-keymapd = {}
redbear-authd = {}
redbear-greeter = {}
redbear-session-launch = {}
redbear-compositor = {}
redbear-statusnotifierwatcher = {}
# NB: mini is PURELY TEXT-ONLY. GUI/desktop/session packages (greeter,
# session-launch, compositor, statusnotifierwatcher, accessibility, ime, and
# the whole D-Bus session-services stack below) were bundled here by mistake
# and have been removed — they belong to redbear-full. Text login is the
# initfs getty/brush chain (see the VT/getty/login section further down).
# ── PCI device database (critical for PCI driver matching) ──
pciids = {}
@@ -107,15 +106,6 @@ installer = {}
evdevd = {}
udev-shim = {}
# ── D-Bus IPC and session services ──
dbus = {}
redbear-sessiond = {}
redbear-dbus-services = {}
redbear-notifications = {}
redbear-upower = {}
redbear-udisks = {}
redbear-polkit = {}
# ── IOMMU DMA remapping ──
iommu = {}
@@ -421,22 +411,6 @@ cmd = "redbear-wifictl"
type = "oneshot_async"
"""
[[files]]
path = "/etc/init.d/12_dbus.service"
data = """
[unit]
description = "D-Bus system bus"
requires_weak = [
"12_boot-late.target",
]
[service]
cmd = "dbus-daemon"
args = ["--system", "--nopidfile", "--address=unix:path=/run/dbus/system_bus_socket"]
envs = { DBUS_SYSTEM_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket" }
type = "oneshot_async"
"""
[[files]]
path = "/etc/init.d/13_seatd.service"
data = """
@@ -449,21 +423,6 @@ args = ["seatd: skipped on live-mini"]
type = "oneshot"
"""
[[files]]
path = "/etc/init.d/13_redbear-sessiond.service"
data = """
[unit]
description = "Red Bear session broker (org.freedesktop.login1)"
requires_weak = [
"12_dbus.service",
]
[service]
cmd = "redbear-sessiond"
envs = { DBUS_SYSTEM_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket" }
type = "oneshot_async"
"""
[[files]]
path = "/etc/init.d/13_iommu.service"
data = """
@@ -479,95 +438,6 @@ cmd = "/usr/bin/iommu"
type = "oneshot_async"
"""
[[files]]
path = "/etc/init.d/14_redbear-upower.service"
data = """
[unit]
description = "UPower D-Bus service (org.freedesktop.UPower)"
requires_weak = [
"12_dbus.service",
]
[service]
cmd = "redbear-upower"
envs = { DBUS_SYSTEM_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket" }
type = "oneshot_async"
"""
[[files]]
path = "/etc/init.d/14_redbear-udisks.service"
data = """
[unit]
description = "UDisks2 D-Bus service (org.freedesktop.UDisks2)"
requires_weak = [
"12_dbus.service",
]
[service]
cmd = "redbear-udisks"
envs = { DBUS_SYSTEM_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket" }
type = "oneshot_async"
"""
[[files]]
path = "/etc/init.d/14_redbear-polkit.service"
data = """
[unit]
description = "PolicyKit1 D-Bus service (org.freedesktop.PolicyKit1)"
requires_weak = [
"12_dbus.service",
]
[service]
cmd = "redbear-polkit"
envs = { DBUS_SYSTEM_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket" }
type = "oneshot_async"
"""
[[files]]
path = "/etc/polkit-1/policy.toml"
data = """
# Red Bear OS polkit policy (v0.2 — comprehensive syntax)
#
# Format: action_id = uid, @group, *, !uid, !@group
#
# Specifiers:
# 1000 - explicit UID
# @wheel - any user in the named group (primary or supplementary)
# * - wildcard (allow any user)
# !1000 - explicit deny (overrides allows)
# !@restricted - explicit deny for users in 'restricted'
#
# UID 0 (root) is implicitly authorized for every action.
# -------- Power management (login1) --------
org.freedesktop.login1.power-off = *
org.freedesktop.login1.reboot = *
org.freedesktop.login1.suspend = *
org.freedesktop.login1.set-user-linger = 0
# -------- Storage (UDisks2) --------
org.freedesktop.udisks2.filesystem-mount = @wheel, 1000
org.freedesktop.udisks2.filesystem-mount-system = 0
# -------- NetworkManager --------
org.freedesktop.NetworkManager.settings.modify.system = 0
org.freedesktop.NetworkManager.enable-disable-wifi = @wheel, 1000
org.freedesktop.NetworkManager.enable-disable-wifi = !@restricted
"""
[[files]]
path = "/var/lib/dbus"
data = ""
directory = true
mode = 0o755
[[files]]
path = "/run/dbus"
data = ""
directory = true
mode = 0o755
[[files]]
path = "/etc/init.d/29_activate_console.service"
data = """