8fbc113d9f
Round 14 audit cleanup. Six coordinated fixes across seven files
plus a documentation log update:
1. local/recipes/system/redbear-wayland-guard/ — REMOVED entirely.
The directory contained only source/wayland_guard.c — an LD_PRELOAD
interposer stub for three wl_proxy_* functions — with NO recipe.toml.
This violated local/AGENTS.md STUB AND WORKAROUND POLICY ('No LD_PRELOAD
tricks'). The correct null-guard fix lives in libwayland upstream per
QT6-WAYLAND-NULL8-DIAGNOSIS.md (already covered by Mesa win compat).
2. recipes/system/redbear-wayland-guard — broken symlink cleaned up.
3. local/recipes/AGENTS.md — catalog entry for redbear-wayland-guard was
wrong (claimed 'Rust' but the code was C LD_PRELOAD). Replaced with
REMOVED note explaining the policy violation and the correct fix
location in libwayland.
4. local/recipes/system/firmware-loader/source/src/main.rs — converted
9 .expect() calls in the daemon init path (Socket::create, scheme_root,
create_this_scheme_fd, syscall::call_wo notify, setrens, next_request,
write_response) to Result propagation. get_init_notify_fd() and
notify_scheme_ready() now return Result; run_daemon() returns Result and
main() matches on Err to log+exit(1) cleanly. The daemon was
crashing the entire firmware-delivery subsystem on any init failure;
now init can fall back or restart the daemon.
5. local/recipes/system/{redbear-keymapd,redbear-ime,redbear-accessibility}/
source/src/main.rs — three scheme daemons used the same
Socket::create().expect() + register_sync_scheme().expect() pattern.
Replaced all six .expect() calls with match expressions that
log_msg('ERROR', ...) and process::exit(1). Same pattern.
6. local/docs/NETWORKING-AND-DRIVERS-SYSTEMATIC-ASSESSMENT-2026-07-27.md —
struck through 5 references to the now-removed redbear-wayland-guard
(line 65 missing-daemons list, line 344 table row, line 397
implementation list, line 414 source-list, line 797 P3-8 backlog).
7. local/docs/SUPERSEDED-DOC-LOG.md — appended a 'Rounds 11-14 Source-Level
Supersessions' table logging every lie-grade fix and stale-doc
strike from this session. Mirrors the original deletion-log style for
consistency, and gives operators a single place to see what was
resolved and where. Documents the emerging pattern: lie-grade code in
Red Bear concentrates in (a) relibc panic-site catch-alls (addressed
rounds 9-10), (b) scheme daemon init paths using .expect() instead of
Result (rounds 11-14), (c) Mesa DRM/Wayland stubbing (rounds 12;
remaining work tracked in 3D-DESKTOP-COMPREHENSIVE-PLAN.md).
Not committed in this commit (operator's parallel work, to be
committed by them):
- driver-manager/* (N-tier edits)
- redbear-sessiond/manager.rs (can_* probe refinements)
- redbear-statusnotifierwatcher/* (recipe + source)
- redbear-dbus-services/* (dbus service cleanup)
- redox-driver-core/manager.rs (test-only)
- Mesa redox_drm_cs.c (CS submit fix)
7 files changed in this commit + 2 deletions.
18 KiB
18 KiB
Red Bear OS Custom Recipes — Catalog
All recipes under local/recipes/ are Red Bear OS originals or patched forks of upstream
Redox recipes. They are symlinked into recipes/<category>/ at build time via
local/scripts/apply-patches.sh.
Convention: recipe directories contain recipe.toml (build instructions) and optionally
source/ (source code for Rust cargo or custom templates). Patches for upstream sources
live in local/patches/<component>/, never here.
archives
| Recipe | Template | Language | Description |
|---|---|---|---|
| uutils-tar | cargo | Rust | GNU tar compatible archiver from uutils, for creating and extracting tar archives |
branding
| Recipe | Template | Language | Description |
|---|---|---|---|
| redbear-release | custom | Shell | OS release metadata: /etc/os-release, hostname, and branding assets |
core
| Recipe | Template | Language | Description |
|---|---|---|---|
| ext4d | custom | Rust | ext4 filesystem driver daemon (userspace, scheme-based) |
| fatd | custom | Rust | FAT32 filesystem driver daemon (userspace, scheme-based) |
| grub | custom | Scripts | GRUB boot manager integration for live ISO and bare-metal installs |
Retired 2026-07-24 — superseded by driver-manager (see system/driver-manager/). Recipe directory kept for historical reference. |
dev
| Recipe | Template | Language | Description |
|---|---|---|---|
| binutils-native | custom | C | GNU binutils (ld, objdump, etc.) built for native Red Bear target |
| bison | custom | C | GNU bison parser generator |
| cub | custom | Rust | Red Bear build utility — build orchestration helper |
| flex | custom | C | Fast lexical analyzer generator |
| gcc-native | custom | C | GCC cross-compiler for native Red Bear target |
| gnu-make | custom | C | GNU Make build tool |
| libtool | custom | C | GNU libtool — generic library support script |
| llvm-native | custom | C++ | LLVM/Clang toolchain built for native Red Bear target |
| m4 | custom | C | GNU m4 macro processor |
| meson | custom | Python | Meson build system |
| ninja-build | custom | C | Ninja build system (small, fast build runner) |
| rust-native | custom | Rust | Rust toolchain for native Red Bear builds |
drivers
| Recipe | Template | Language | Description |
|---|---|---|---|
| ehcid | cargo | Rust | EHCI (USB 2.0) host controller driver daemon |
| linux-kpi | custom | C headers | Linux Kernel Programming Interface — C header shim translating Linux kernel APIs to redox-driver-sys. GPU and Wi-Fi only — no USB support |
| ohcid | cargo | Rust | OHCI (USB 1.1) host controller driver daemon |
| redbear-btusb | custom | Rust | Bluetooth USB transport driver — sends/receives HCI packets over USB |
| redbear-input-headers | custom | C headers | Linux-compatible input event headers (input.h, evdev constants) for driver and compositor use |
| redbear-iwlwifi | cargo | Rust | Intel Wi-Fi driver (iwlwifi port) — mac80211-based wireless networking |
| redox-driver-acpi | cargo | Rust | ACPI driver — parses RSDP/SDT/MADT/FADT tables, exposes scheme:acpi |
| redox-driver-core | cargo | Rust | Core driver traits and types shared across all redox-driver-* crates |
| redox-driver-pci | cargo | Rust | PCI bus driver — enumerates PCI devices, exposes scheme:pci, provides config space access |
| redox-driver-sys | custom | Rust | Safe Rust FFI wrappers for scheme:memory, scheme:irq, scheme:pci + hardware quirks system |
| uhcid | cargo | Rust | UHCI (USB 1.1) host controller driver daemon |
| usb-core | cargo | Rust | USB core stack — hub driver, device enumeration, transfer scheduling |
gpu
| Recipe | Template | Language | Description |
|---|---|---|---|
| amdgpu | custom | C | AMD GPU display core (DC) port with linux-kpi compat shim |
| redox-drm | cargo | Rust | DRM/KMS scheme daemon — GPU driver manager, supports virtio-gpu, Intel, AMD. Auto-detects hardware and loads correct driver |
groups
| Recipe | Template | Language | Description |
|---|---|---|---|
| build-essential-native | custom | Meta | Meta-package group: compiler, linker, make, and core build tools for native development |
kde
| Recipe | Template | Language | Description |
|---|---|---|---|
| breeze | custom | C++ | KDE Breeze widget style and window decoration theme |
| kde-cli-tools | custom | C++ | KDE command-line utilities (kde-open, kioclient, etc.) |
| kdecoration | custom | C++ | KDE window decoration library — decoration plugin API for KWin |
| kf6-attica | custom | C++ | KDE Frameworks 6 — Open Collaboration Services API (GHNS) |
| kf6-extra-cmake-modules | custom | CMake | KDE Frameworks 6 — Extra CMake Modules (build system extensions) |
| kf6-karchive | custom | C++ | KDE Frameworks 6 — archive handling (tar, zip, etc.) |
| kf6-kauth | custom | C++ | KDE Frameworks 6 — authorization framework (PolicyKit integration) |
| kf6-kbookmarks | custom | C++ | KDE Frameworks 6 — bookmark management (XBEL format) |
| kf6-kcmutils | custom | C++ | KDE Frameworks 6 — KCModule utilities for System Settings |
| kf6-kcodecs | custom | C++ | KDE Frameworks 6 — string encoding/decoding (base64, uuencode, etc.) |
| kf6-kcolorscheme | custom | C++ | KDE Frameworks 6 — color scheme management |
| kf6-kcompletion | custom | C++ | KDE Frameworks 6 — text completion widgets and utilities |
| kf6-kconfig | custom | C++ | KDE Frameworks 6 — configuration file framework (INI, JSON) |
| kf6-kconfigwidgets | custom | C++ | KDE Frameworks 6 — configuration-aware widgets |
| kf6-kcoreaddons | custom | C++ | KDE Frameworks 6 — core utilities (KAboutData, KJob, KProcess) |
| kf6-kcrash | custom | C++ | KDE Frameworks 6 — crash handler with DrKonqi integration |
| kf6-kdbusaddons | custom | C++ | KDE Frameworks 6 — D-Bus convenience classes |
| kf6-kdeclarative | custom | C++ | KDE Frameworks 6 — KDE QtQuick integration plugins |
| kf6-kded6 | custom | C++ | KDE Frameworks 6 — background service daemon (kded6) |
| kf6-kglobalaccel | custom | C++ | KDE Frameworks 6 — global keyboard shortcut registration |
| kf6-kguiaddons | custom | C++ | KDE Frameworks 6 — GUI utilities (color picker, key sequence) |
| kf6-ki18n | custom | C++ | KDE Frameworks 6 — internationalization (gettext integration) |
| kf6-kiconthemes | custom | C++ | KDE Frameworks 6 — icon theme management and rendering |
| kf6-kidletime | custom | C++ | KDE Frameworks 6 — idle time detection for screensaver/power |
| kf6-kio | custom | C++ | KDE Frameworks 6 — I/O framework (KIO slaves for network/FS access) |
| kf6-kitemmodels | custom | C++ | KDE Frameworks 6 — Qt model extensions (KRearrangeColumns, KSortFilter) |
| kf6-kitemviews | custom | C++ | KDE Frameworks 6 — item view widgets (KFilterProxy, KCategoryDrawer) |
| kf6-kjobwidgets | custom | C++ | KDE Frameworks 6 — async job tracking widgets |
| kf6-knewstuff | custom | C++ | KDE Frameworks 6 — Get Hot New Stuff (GHNS) download framework |
| kf6-knotifications | custom | C++ | KDE Frameworks 6 — system notification framework |
| kf6-kpackage | custom | C++ | KDE Frameworks 6 — package/installation framework |
| kf6-kservice | custom | C++ | KDE Frameworks 6 — service/plugin framework (mime type, .desktop parsing) |
| kf6-ksvg | custom | C++ | KDE Frameworks 6 — SVG rendering with theme support |
| kf6-ktextwidgets | custom | C++ | KDE Frameworks 6 — text editing widgets (KTextEdit, find/replace) |
| kf6-kwallet | custom | C++ | KDE Frameworks 6 — secure credential storage |
| kf6-kwayland | custom | C++ | KDE Frameworks 6 — Wayland protocol bindings for Qt/KDE |
| kf6-kwidgetsaddons | custom | C++ | KDE Frameworks 6 — extra Qt widgets (KComboBox, KPageWidget) |
| kf6-kwindowsystem | custom | C++ | KDE Frameworks 6 — window system integration (window info, stacking) |
| kf6-kxmlgui | custom | C++ | KDE Frameworks 6 — XML-defined GUI (menus, toolbars, actions) |
| kf6-notifyconfig | custom | C++ | KDE Frameworks 6 — notification configuration widgets |
| kf6-parts | custom | C++ | KDE Frameworks 6 — embeddable document/viewer parts (KParts) |
| kf6-prison | custom | C++ | KDE Frameworks 6 — barcode/QR code generation (QRencode wrapper) |
| kf6-pty | custom | C++ | KDE Frameworks 6 — pseudoterminal (PTY) management |
| kf6-solid | custom | C++ | KDE Frameworks 6 — hardware abstraction (storage, power, network) |
| kf6-sonnet | custom | C++ | KDE Frameworks 6 — spell checking framework |
| kf6-syntaxhighlighting | custom | C++ | KDE Frameworks 6 — syntax highlighting engine (Kate definitions) |
| kglobalacceld | custom | C++ | KDE global shortcut daemon — handles keyboard shortcut registration |
| kirigami | custom | C++ | KDE Kirigami — responsive QtQuick UI framework (convergent apps) |
| konsole | custom | C++ | KDE Konsole — terminal emulator |
| kwin | custom | C++ | KDE KWin — Wayland compositor and window manager |
| plasma-desktop | custom | C++ | KDE Plasma Desktop — panels, desktop containment, applets |
| plasma-framework | custom | C++ | KDE Plasma Framework — libplasma for Plasma shell and applets |
| plasma-wayland-protocols | custom | C++ | KDE Plasma Wayland protocol extensions |
| plasma-workspace | custom | C++ | KDE Plasma Workspace — plasma-shell, data engines, runners |
libs
| Recipe | Template | Language | Description |
|---|---|---|---|
| freetype2 | custom | C | FreeType 2 font rendering library |
| glib | custom | C | GLib — core event loop, type system, utility functions |
| icu | custom | C++ | ICU — Unicode and internationalization support |
| lcms2 | custom | C | Little CMS 2 — color management library (v6.0 2026) |
| libdisplay-info | custom | C | EDID and display descriptor parsing library (v6.0 2026) |
| libdrm | custom | C | libdrm — DRM/KMS user-space library; Rule 2 (upstream git + local/patches/libdrm/*.patch via cookbook_apply_patches); Mesa + redox-drm dependency |
| libepoxy | custom | C | Epoxy — OpenGL function pointer manager (cross-platform GL loader, v6.0 2026) |
| libevdev | meson | C | libevdev — evdev device wrapper library for input handling |
| libinput | meson | C | libinput — input device management (keyboard, pointer, touch) |
| libqrencode | cmake | C | libqrencode — QR code encoding library |
| libudev | custom | C | libudev — scheme:udev-backed device enumeration library (v6.0 2026) |
| libxcvt | custom | C | libxcvt — VESA CVT mode timing calculation (v6.0 2026) |
| libxkbcommon | custom | C | xkbcommon — keyboard description and keymap handling (KWin, Wayland) |
| pam-redbear | custom | C | pam-redbear — Redox PAM module (delegates to redbear-authd) |
| pipewire | custom | C | PipeWire — audio/video server; Rule 2 (upstream git + local/patches/pipewire/*.patch) |
| wireplumber | custom | C | WirePlumber — PipeWire session/policy manager; Rule 2 (upstream git + local/patches/wireplumber/*.patch) |
| zbus | custom | Rust | zbus crate — Rust D-Bus message bus library (library-only, custom build) |
qt
| Recipe | Template | Language | Description |
|---|---|---|---|
| qt6-sensors | custom | C++ | Qt 6 Sensors module — hardware sensor access (accel, gyro, etc.) |
| qtbase | custom | C++ | Qt 6 Base — core, gui, widgets, network modules |
| qtdeclarative | custom | C++ | Qt 6 QML/QtQuick — declarative UI framework |
| qtsvg | custom | C++ | Qt 6 SVG — SVG rendering support for Qt |
| qtwayland | custom | C++ | Qt 6 Wayland — Wayland compositor/client integration |
system
| Recipe | Template | Language | Description |
|---|---|---|---|
| diskd | cargo | Rust | Disk aggregator scheme daemon — probes all disk.* schemes, exposes /scheme/diskd with real getdents and DirentKind::BlockDev; zero-copy block I/O via OpenResult::OtherScheme |
| coretempd | cargo | Rust | CPU core temperature monitoring daemon |
| cpufreqd | cargo | Rust | CPU frequency scaling daemon |
| cub | custom | Rust | Red Bear build utility (same as dev/cub, system-installed copy) |
| dbus | meson | C | D-Bus reference implementation — system and session message bus |
| driver-manager | custom | Rust | Driver lifecycle manager — loads/unloads drivers based on hardware |
| driver-params | cargo | Rust | Driver parameter service — exposes driver configuration via scheme |
| evdevd | custom | Rust | evdev event daemon — translates input events to evdev protocol |
| firmware-loader | cargo | Rust | Firmware loading daemon — serves GPU/device firmware blobs via scheme:firmware |
| hwrngd | cargo | Rust | Hardware RNG daemon — exposes entropy from hardware random number generator |
| iommu | cargo | Rust | IOMMU daemon — manages I/O memory mapping for device DMA |
| numad | cargo | Rust | NUMA topology daemon — exposes NUMA node information |
| redbear-accessibility | custom | Rust | Accessibility service — screen reader and input assistance bridge |
| redbear-acmd | cargo | Rust | Red Bear admin CLI — system administration commands |
| redbear-authd | cargo | Rust | Authentication daemon — PAM-like auth with scheme:auth |
| redbear-btctl | custom | Rust | Bluetooth control utility — scan, pair, connect Bluetooth devices |
| redbear-dbus-services | custom | Config | D-Bus service activation files and XML policy files for system/session buses |
| redbear-ecmd | cargo | Rust | Extended command-line tool — system diagnostics and info |
| redbear-firmware | custom | Scripts | Firmware management utility — list, extract, verify firmware blobs |
| redbear-greeter | custom | Rust | Login greeter daemon — displays graphical login prompt |
| redbear-hwutils | cargo | Rust | Hardware utility library and CLI — PCI, USB, sensor information |
| redbear-ime | custom | Rust | Input method engine — multilingual text input framework |
| redbear-info | cargo | Rust | System information daemon — hardware and OS state queries |
| redbear-keymapd | custom | Rust | Keyboard layout daemon — manages keymaps and input layouts |
| redbear-login-protocol | cargo | Rust | Login protocol crate — shared types for auth session management |
| redbear-meta | custom | Meta | Meta-package — ensures core Red Bear system packages are installed |
| redbear-mtr | cargo | Rust | MTR network diagnostic tool — traceroute + ping combined |
| redbear-netctl | cargo | Rust | Network control daemon — manages network interfaces and connections |
| redbear-netctl-console | cargo | Rust | Network control console UI — TUI for redbear-netctl |
| redbear-netstat | cargo | Rust | Network statistics tool — socket, interface, and routing info |
| redbear-nmap | cargo | Rust | Network mapper — port scanning and host discovery |
| redbear-notifications | cargo | Rust | Notification daemon — freedesktop.org notification spec implementation |
| redbear-passwd | cargo | Rust | Password management utility — change passwords, manage shadow |
| redbear-polkit | cargo | Rust | PolicyKit daemon — authorization framework for privileged operations |
| redbear-power | cargo | Rust | Interactive TUI power/thermal monitor — ratatui-based desktop showing CPU/governor/thermal state and capable of changing power params on the fly |
| redbear-quirks | custom | Config | Hardware quirks database — TOML quirk definitions for known issues |
| redbear-sessiond | cargo | Rust | Session manager daemon — D-Bus login1 subset for KWin/Wayland |
| redbear-session-launch | cargo | Rust | Session launcher — starts desktop session compositor and services |
| redbear-statusnotifierwatcher | cargo | Rust | Status Notifier Watcher — freedesktop.org system tray spec |
| redbear-traceroute | cargo | Rust | Traceroute utility — network path discovery |
| redbear-udisks | cargo | Rust | UDisks2 daemon — storage device management via D-Bus |
| redbear-upower | cargo | Rust | UPower daemon — power management and battery status via D-Bus |
| redbear-usbaudiod | cargo | Rust | USB audio daemon — USB audio class device driver |
REMOVED 2026-07-27 — was an LD_PRELOAD stub (C, not Rust) violating local/AGENTS.md STUB AND WORKAROUND POLICY. The correct fix lives in libwayland itself (Qt6 Wayland null+8 guards); see local/docs/QT6-WAYLAND-NULL8-DIAGNOSIS.md for the proper implementation location. |
|||
| redbear-wifictl | cargo | Rust | Wi-Fi control utility — scan, connect, manage wireless networks |
| seatd | meson | C | seatd — seat management daemon for DRM master access |
| thermald | cargo | Rust | Thermal management daemon — monitors and controls CPU temperature |
| udev-shim | cargo | Rust | udev compatibility shim — translates libudev calls to Red Bear schemes |
tests
| Recipe | Template | Language | Description |
|---|---|---|---|
| redox-drm-prime-test | custom | Rust | DRM PRIME buffer sharing test — validates GPU buffer import/export |
| relibc-phase1-tests | custom | C | relibc POSIX compliance tests — validates syscall wrappers and C library functions |
tools
| Recipe | Template | Language | Description |
|---|---|---|---|
| diffutils | custom | C | GNU diffutils — diff, diff3, sdiff, cmp |
tui
| Recipe | Template | Language | Description |
|---|---|---|---|
| mc | custom | C | GNU Midnight Commander — file manager with TUI |
wayland
| Recipe | Template | Language | Description |
|---|---|---|---|
| libwayland | custom | C | libwayland — Wayland protocol client/server library |
| qt6-wayland-smoke | custom | C++ | Qt 6 Wayland smoke test — minimal QML window on Wayland |
| redbear-compositor | cargo | Rust | Red Bear Wayland compositor — compositor shell for DRM/KMS output |
| seatd-redox | meson | C | seatd Redox backend — seat management for Red Bear's scheme system |
| smallvil | cargo | C | Smallvil — minimal wlroots-based Wayland compositor for testing |
| wayland-protocols | custom | C | Wayland protocol extensions — stable and staging protocol XML files |