Pipeline (3 operator asks): - bump-release.sh: canonical orchestrator (forks + sources + external) - upgrade-forks.sh --to=<tag>: rebase forks with diverged-mode guard - bump-graphics-recipes.sh: map-driven group-aware graphics bumps - check-external-versions.sh: drift checker for Qt6/KF6/Plasma/Mesa/Wayland - refresh-fork-upstream-map.sh: append-only map updater with --check - post-checkout-version-sync.sh + install-git-hooks.sh: opt-in branch hook - external_version_lib.py: shared version-parsing/bumping library - external-upstream-map.toml: ~80 external package entries - bump-fork.sh: deprecated (REDBEAR_I_KNOW_BUMP_FORK_IS_DEPRECATED=1) - RELEASE-BUMP-WORKFLOW.md: operator runbook Quality fixes (8 defects from two independent audits): - blake2b stable cache keys (was hash(), non-portable) - atomic cache writes via os.replace - version_sort_key pre-release demotion (was sorting after finals) - apply_ver_transform re.error tolerance - grep || true (pipefail abort) - cd failure detection in upgrade-forks - sed URL escape (injection hardening) - refresh-fork-upstream-map last-row drop fix Doc cleanup: - Archive 5 obsolete plans to local/docs/archived/ - Remove 14 stale/superseded docs - Update 18 docs to reference bump-release.sh and fix inbound links - TOOLS.md drift fixes
5.6 KiB
RECIPES/WIP — WORK-IN-PROGRESS PORTS
Experimental ports not yet ready for production. Wayland, KDE, GNOME, and driver WIP.
OWNERSHIP RULE FOR UPSTREAM WIP
In Red Bear OS, an upstream recipe or subsystem being marked WIP changes how we treat it.
What WIP means for Red Bear
If an upstream recipe, package group, or subsystem is still WIP:
- Red Bear treats that area as a local project rather than a first-class upstream dependency
- we may study, import, and refresh from the upstream WIP recipe
- but the version we fix, validate, and ship should live in the Red Bear overlay (
local/recipes/,local/patches/,local/docs/), not in trust of the upstream WIP tree alone
What happens when upstream promotes it
If upstream later removes the WIP status and the recipe becomes a first-class supported Redox package, Red Bear should reevaluate immediately:
- prefer the upstream recipe where it now solves the same problem adequately
- reduce or remove the local Red Bear copy/patches if they are no longer needed
- keep only the Red Bear-specific integration delta that upstream still does not solve
Practical implication
recipes/wip/ is therefore not “safe upstream ownership” for Red Bear shipping decisions. For this
project, upstream WIP is a source of inputs and ideas, but stable Red Bear delivery should come
from the local overlay until upstream promotes that work.
STRUCTURE
recipes/wip/
├── wayland/ # 21 Wayland-related recipes
│ ├── libwayland/ # Wayland protocol library (builds with redox.patch)
│ ├── wayland-protocols/# Wayland protocol definitions
│ ├── wayland-rs/ # Rust Wayland bindings
│ ├── cosmic-comp/ # COSMIC compositor (no keyboard input yet)
│ ├── smallvil/ # Smithay-based compositor (basic, slow)
│ ├── libcosmic-wayland/# COSMIC Wayland client library
│ ├── winit-wayland/ # winit with Wayland backend
│ ├── softbuffer-wayland/# softbuffer with Wayland backend
│ ├── iced-wayland/ # Iced GUI with Wayland backend
│ ├── gtk3/ # GTK3 Wayland support
│ ├── wlroots/ # wlroots (not compiled/tested)
│ ├── sway/ # sway (not compiled/tested)
│ ├── hyprland/ # hyprland (not compiled/tested)
│ └── xwayland/ # XWayland (partially patched)
├── services/
│ └── seatd/ # Seat daemon recipe (service category, runtime trust still open)
├── kde/ # HISTORICAL: 9 pre-KF6 KDE app recipes (not the active KDE surface)
│ ├── kde-dolphin/ # File manager (needs kio — kf6-kio now built under local/recipes/kde/)
│ ├── kdenlive/ # Video editor (needs MLT)
│ ├── krita/ # Painting (needs Qt + OpenGL)
│ ├── kdevelop/ # IDE (needs Qt + kio)
│ └── ... # okteta, ktorrent, ark, kamoso, kpatience
├── libs/ # WIP libraries
│ └── tls/openssl3/ # OpenSSL 3.x port
├── monitors/ # System monitors
│ └── bottom/ # bottom system monitor
└── drivers/ # WIP driver ports (planned)
Note: the recipes in wip/kde/ are pre-KF6-era experiments. The ACTIVE KDE
surface is local/recipes/kde/ (40+ KF6 frameworks, KWin, Plasma, SDDM,
konsole) plus config/redbear-full.toml. Do not treat wip/kde/ recipes as
the KDE path; they remain only as reference material until upstream promotes
them (see "OWNERSHIP RULE FOR UPSTREAM WIP" above).
WHERE TO LOOK
| Task | Location |
|---|---|
| Fix Wayland build | wayland/libwayland/redox.patch plus recipe-time source rewrites — residual Redox compatibility and scanner/build handling remain |
| Add Wayland compositor | wayland/<name>/recipe.toml — use dependencies = ["libwayland"] |
| Inspect cosmic-comp status | wayland/cosmic-comp/ — historical partial bring-up; not the active forward path |
| Inspect smallvil history | wayland/smallvil/ — historical bounded validation compositor reference only |
| Port a KDE app | Copy existing recipe pattern, add #TODO header |
| Add Qt port | Prefer the newer local/recipes/qt/ / local/recipes/kde/ work over this older note |
WAYLAND STATUS
- libwayland: Builds with a smaller Redox patch plus recipe-time source rewriting; runtime trust is still incomplete
- cosmic-comp: Historical partial bring-up note only; current runtime/session status is not trusted enough for support claims
- smallvil: Historical bounded validation compositor reference only; no longer part of the active forward desktop workflow
- wlroots/sway/hyprland: Not compiled or tested
- xwayland: Partially patched
- Blockers: runtime substrate trust, complete compositor session proof, libinput/seatd runtime validation, and DRM/KMS hardware/runtime validation
KDE STATUS
- Older WIP KDE app notes here are stale relative to
local/recipes/kde/andconfig/redbear-full.toml - See
docs/05-KDE-PLASMA-ON-REDOX.mdtop-level status note pluslocal/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.mdfor current state
CONVENTIONS
- ALL WIP recipes MUST start with
#TODOexplaining what's missing - BLAKE3 hashes optional for WIP
- Test with
make r.<package>before adding to config - When ready: move from
wip/to appropriate category, add BLAKE3 hash - If Red Bear depends on a WIP subsystem long-term, prefer moving the maintained shipping version
under
local/recipes/and documenting the delta inlocal/docs/