30-line patch: QPlatformOpenGLContext guards in header.
Recipe: added P1 to patches list (was lost in git checkout).
Recipe: removed broken inline Python attempts.
30-line patch: QPlatformOpenGLContext guards in header.
Recipe: added P1 to patches list (was lost in git checkout).
Recipe: removed broken inline Python attempts.
14-line durability patch adds #if QT_CONFIG(opengl) guards
around createEglWindow, createPlatformOpenGLContext, and
nativeResourceForContext functions that use OpenGL types.
Patch applied during source extraction (not inline Python).
14-line durability patch adds #if QT_CONFIG(opengl) guards
around createEglWindow, createPlatformOpenGLContext, and
nativeResourceForContext functions that use OpenGL types.
Patch applied during source extraction (not inline Python).
Packages/ is the canonical binary package repository for Red Bear OS.
Contains stage.pkgar copies of all built packages (91 files).
New scripts:
- local/scripts/sync-packages.sh: syncs built pkgar → Packages/
- make packages-sync: run sync
- make packages-list: list package count
Future: cache-auto will auto-sync to Packages/ after each build.
Packages/ is the canonical binary package repository for Red Bear OS.
Contains stage.pkgar copies of all built packages (91 files).
New scripts:
- local/scripts/sync-packages.sh: syncs built pkgar → Packages/
- make packages-sync: run sync
- make packages-list: list package count
Future: cache-auto will auto-sync to Packages/ after each build.
Every successful 'make all' now:
1. BEFORE: restores cache from git if needed
2. AFTER: syncs built packages to git-tracked cache
3. AFTER: auto-commits cache to git (with fallback if not in repo)
Flow: build → cache-sync → cache-commit
Cache survives: make clean, make distclean, git clone
This makes the build system fully resilient for a fork/overlay OS.
Every successful 'make all' now:
1. BEFORE: restores cache from git if needed
2. AFTER: syncs built packages to git-tracked cache
3. AFTER: auto-commits cache to git (with fallback if not in repo)
Flow: build → cache-sync → cache-commit
Cache survives: make clean, make distclean, git clone
This makes the build system fully resilient for a fork/overlay OS.
Red Bear is a fork/overlay on top of Redox. The upstream build
system wasn't designed for forks — it loses all cached stages on
make clean with no recovery path.
This commit adds a git-tracked build cache:
- local/cache/pkgar/{pkg}/stage.pkgar — per-package cache files
- cache-sync.sh: sync built packages → git-tracked cache
- cache-sync.sh --restore: restore cache → recipe targets
- cache-sync.sh --commit: sync + git commit
- Auto-restore before build, auto-sync after build
Cache survives: make clean, make distclean, git clone, upstream rebase.
Recovery from clean: seconds (restore from git) vs hours (full rebuild).
Red Bear is a fork/overlay on top of Redox. The upstream build
system wasn't designed for forks — it loses all cached stages on
make clean with no recovery path.
This commit adds a git-tracked build cache:
- local/cache/pkgar/{pkg}/stage.pkgar — per-package cache files
- cache-sync.sh: sync built packages → git-tracked cache
- cache-sync.sh --restore: restore cache → recipe targets
- cache-sync.sh --commit: sync + git commit
- Auto-restore before build, auto-sync after build
Cache survives: make clean, make distclean, git clone, upstream rebase.
Recovery from clean: seconds (restore from git) vs hours (full rebuild).
Adds comprehensive build cache snapshot and restore for overlay OS.
Problem: Upstream Redox build system is single-stream — make clean
destroys cached stage.pkgar files permanently. Build can't recover
without full from-scratch rebuild (2-4 hours).
Solution: Red Bear cache system provides:
- snapshot-cache.sh: Save all stage.pkgar to local/cache/
- restore-cache.sh: Restore from snapshot after make clean
- Auto-restore: Makefile auto-restores cache before build
- Essential cache: Pre-built caches for boot packages tracked in git
- Cookbook fixes: Missing deps trigger rebuild instead of crash
With cache restore, make clean recovery is measured in seconds,
not hours.
Gaps fixed in cookbook:
- modified_all_btree: missing dep → UNIX_EPOCH (rebuild trigger)
- sysroot install: missing dep → skip + rebuild
Adds comprehensive build cache snapshot and restore for overlay OS.
Problem: Upstream Redox build system is single-stream — make clean
destroys cached stage.pkgar files permanently. Build can't recover
without full from-scratch rebuild (2-4 hours).
Solution: Red Bear cache system provides:
- snapshot-cache.sh: Save all stage.pkgar to local/cache/
- restore-cache.sh: Restore from snapshot after make clean
- Auto-restore: Makefile auto-restores cache before build
- Essential cache: Pre-built caches for boot packages tracked in git
- Cookbook fixes: Missing deps trigger rebuild instead of crash
With cache restore, make clean recovery is measured in seconds,
not hours.
Gaps fixed in cookbook:
- modified_all_btree: missing dep → UNIX_EPOCH (rebuild trigger)
- sysroot install: missing dep → skip + rebuild
Root cause: modified_all_btree used ? on missing stage.pkgar,
causing cascade failure when make clean destroyed cached builds.
Fixes:
1. dep stage.pkgar missing → UNIX_EPOCH (triggers rebuild, not crash)
2. dep stage.pkgar missing during sysroot install → skip + rebuild
Build system now recovers from make clean by rebuilding deps.
Root cause: modified_all_btree used ? on missing stage.pkgar,
causing cascade failure when make clean destroyed cached builds.
Fixes:
1. dep stage.pkgar missing → UNIX_EPOCH (triggers rebuild, not crash)
2. dep stage.pkgar missing during sysroot install → skip + rebuild
Build system now recovers from make clean by rebuilding deps.
Verified in QEMU: compositor runs, no exceptions, DRM active.
Greeter reaches 'compositor ready, launching greeter UI'.
All canaries present. Boot completes to login prompt.
Verified in QEMU: compositor runs, no exceptions, DRM active.
Greeter reaches 'compositor ready, launching greeter UI'.
All canaries present. Boot completes to login prompt.
- apply-patches.sh: add signature-marker checks for build-system patches
to handle cases where reverse-check fails but patch is already applied
- test-baremetal.sh: auto-disable TUI when stdout is not a terminal;
pass CI=1 to make
- test-live-iso-qemu.sh: pass CI=1 via env to prevent repo cook panic
- scripts/run.sh: auto-disable TUI when stdout is not a terminal;
pass CI=1 to qemu launch
- repo.rs: improve TUI initialization error messages (raw mode + alternate
screen) and rustfmt cleanups
- config.rs: auto-detect TTY presence for TUI enablement; use is_terminal()
instead of relying solely on CI env var
- apply-patches.sh: add signature-marker checks for build-system patches
to handle cases where reverse-check fails but patch is already applied
- test-baremetal.sh: auto-disable TUI when stdout is not a terminal;
pass CI=1 to make
- test-live-iso-qemu.sh: pass CI=1 via env to prevent repo cook panic
- scripts/run.sh: auto-disable TUI when stdout is not a terminal;
pass CI=1 to qemu launch
- repo.rs: improve TUI initialization error messages (raw mode + alternate
screen) and rustfmt cleanups
- config.rs: auto-detect TTY presence for TUI enablement; use is_terminal()
instead of relying solely on CI env var
Qt6ShaderTools cmake function is not available in our cross-compilation
setup. Added -C preload with no-op stub function to allow cmake
configuration to proceed past shader compilation calls.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Qt6ShaderTools cmake function is not available in our cross-compilation
setup. Added -C preload with no-op stub function to allow cmake
configuration to proceed past shader compilation calls.