Commit Graph

2026 Commits

Author SHA1 Message Date
vasilito 1b8fd21eba build-redbear.sh: re-enable overlay integrity check (was disabled for symlink corruption)
The verify-overlay-integrity.sh script is now active. It runs at the
start of canonical builds and auto-repairs via apply-patches.sh on
failure.

Restored missing symlinks for:
- recipes/core/base/redox.patch
- recipes/core/bootloader/redox.patch
- recipes/core/bootloader/P2-live-preload-guard.patch
- recipes/core/bootloader/P3-uefi-live-image-safe-read.patch
- recipes/wip/wayland/qt6-wayland-smoke (incorrect relative path)

Created empty stub at local/patches/base/redox.patch so the relibc/base
symlinks can be re-created by apply-patches.sh.

Overlay integrity now reports:
  365 recipe symlinks, 0 broken
  9 patch symlinks, 0 broken
  9 critical patches, 0 missing
  10 critical configs, 0 missing
2026-07-12 00:27:27 +03:00
vasilito 1c3c543ba1 graphics upgrade round 2 + relibc absorbed audit tool
Graphics package upgrades (canonical-version verified, downloaded fresh
tarballs from upstream, BLAKE3 hashes computed):
- meson         1.3.0   -> 1.8.3
- kf6-extra-cmake-modules 3.18.0 -> 4.0.3
- freetype2      2.13.3  -> 2.14.3
- glib          2.87.0  -> 2.89.1
- libxkbcommon  1.11.0  -> 1.13.2
- pango/redox.patch updated for 1.56.4
- cairo         symlinked local recipe (1.18.4)
- mesa          26.1.4 (target, recipe rebased)

Submodule pointer updates from prior rebase runs:
- base
- bootloader
- installer
- relibc

New: local/scripts/verify-absorbed-patches.sh — verifies which absorbed/
patches still apply against the current relibc source. Initial scan
shows 11 of 56 absorbed patches are still effective/merged-upstream;
45 are now BROKEN (line offsets diverged, mostly harmless; 0 missing).
This is a known risk where absorbed/ patches accumulate after rebases
and need periodic clean-up.
2026-07-12 00:19:30 +03:00
vasilito 2153bf5f6e build-system: add function-level fork verification + fix critical bugs
CRITICAL: Add verify-fork-functions.sh — detects silent upstream code loss
from bad merges that file-level verification cannot catch. This is the
verification that would have caught the kfdwrite drop bug.

Wire it into build-preflight.sh (pre-build gate) and upgrade-forks.sh
(post-upgrade gate with automatic rollback on failure).

Fix upgrade-forks.sh:
- Fetch failures now abort instead of being silently swallowed
- Backup branch names include fork name + PID to prevent collisions
- Post-upgrade verification runs verify-fork-functions.sh and rolls
  back if upstream functions are missing

Fix bump-fork.sh:
- Replace wrong 'git tag -e' with 'git rev-parse --verify refs/tags/'
- Clone failures now error explicitly instead of silent fallback
- Version sed uses proper regex escaping for + characters
- Atomic swap has rollback recovery if mv fails
- Instructions now mention fork-upstream-map.toml update

Fix sync-upstream.sh:
- Define PROJECT_ROOT before use (was crashing under set -u)

Fix build-preflight.sh:
- Add REDBEAR_SKIP_FUNCTION_CHECK gate for verify-fork-functions.sh

Kernel submodule pointer updated to 0.3.1 branch with kfdwrite restored.
2026-07-11 23:18:41 +03:00
vasilito 71baacb1e8 graphics/full stack sync: finalize local symlink targets + remaining version bumps
- sync local harfbuzz/pango recipes to latest
- keep cairo/freetype2/glib/libxkbcommon local fork symlinks active
- keep mesa on 26.1.4 local recipe path
- include latest KDE/Plasma app versions and recent media/lib updates
2026-07-11 17:50:21 +03:00
vasilito 9164a255dd mesa: adapt recipe to upstream 26.1.4 structure
- drop obsolete/unapplied Redox platform patches 03/06/07
- keep only patches that still apply cleanly (01/02/04/05)
- switch non-existent platform 'redox' to upstream-supported wayland + egl-native-platform=surfaceless
- replace removed gallium driver alias 'swrast' with softpipe,llvmpipe
2026-07-11 17:23:31 +03:00
vasilito a906c11c36 libs: SDL2_image 2.0.4→2.8.12, SDL2_ttf 2.0.15→2.24.0, SDL2_mixer 2.8.1→2.8.2
Massive version jumps for image and TTF — 4+ years of accumulated fixes.
Both had no BLAKE3 hash originally (untracked). All tarballs re-downloaded
from https://www.libsdl.org/release/ and hashes verified.
2026-07-11 17:03:54 +03:00
vasilito 7a6e897a8c mesa: 24.0.8 → 26.1.4 (tar-based, 4/7 patches applied, 3 need manual rebase)
Per user instruction — upgrade to latest. Redox mesa fork at redox-24.0
has no redox-26.0 branch; switched to tar-based upstream 26.1.4 with
Red Bear patches applied on top.

Patch dry-run results vs 26.1.4:
   02-gbm-dumb-prime-export.patch
   04-sys-ioccom-stub-header.patch
   05-vk-sync-wchar-include.patch
  🔴 01-virgl-redox-disk-cache.patch (hunk #1 FAIL at 1054)
  🔴 03-platform-redox-gpu-probe.patch (8 hunks ignored)
  🔴 06-redox-surface-image-fields.patch (hunk #1 FAIL at 333)
  🔴 07-wayland-scanner-env-override.patch (hunk #1 FAIL at 1992)

Patches 01,03,06,07 require manual rebase — documented in recipe comment.
Added mesa to apply-patches.sh graphics symlinks for local fork tracking.
2026-07-11 17:02:30 +03:00
vasilito 31a92b2f66 libs: freeciv 3.1.4→3.2.5, gstreamer 1.24.12→1.29.2, nettle 3.9.1→4.0
freeciv: latest stable release (game).
gstreamer: jumped 5 minor versions, needed for modern desktop audio/video
  features.
nettle: 4.0 is the latest (2024-11 release), includes security fixes.
2026-07-11 16:49:37 +03:00
vasilito f87bf22abb lib: libjpeg-turbo 3.1.0→3.2.0 (May 2025 release) 2026-07-11 16:23:34 +03:00
vasilito 6c30be9700 dev: lua54 5.4.7→5.4.8 2026-07-11 16:16:01 +03:00
vasilito 35325b9fae libs: libssh2 1.10.0→1.11.1 (security), ncdu 1.22→2.9.2 (security + features) 2026-07-11 16:14:16 +03:00
vasilito 2df98b27bf KDE Plasma upgrades: kirigami 6.10→6.28, plasma-framework 6.10→6.7.2, kglobalacceld 6.0→6.7.2, kde-cli-tools 6.3.4→6.7.2, plasma-desktop 6.3.4→6.7.2
All current per https://invent.kde.org/ tags (live verification).
Per user instruction: 6 months old is already old — these packages
were 1.5+ years stale against latest. All tarballs re-downloaded,
BLAKE3 hashes verified.
2026-07-11 16:11:41 +03:00
vasilito ffaf6befb5 active build: iperf3 3.20→3.21, rsync 3.4.1→3.4.4, git 2.13.1→2.55.0
iPerf3 3.21 is a bug fix release from July 2025.
rsync 3.4.4 is the latest 3.4.x maintenance release.
git 2.55.0 is the latest 2.55.x stable release, fixing 9+ years of CVEs
and bugs since the Red Bear build's 2.13.1 baseline. This is a security
critical upgrade.
2026-07-11 16:07:17 +03:00
vasilito 5474781a9b active build: bash 5.2.15 → 5.3 (latest stable) 2026-07-11 16:02:41 +03:00
vasilito 6a4af4b95b library upgrades: libffi 3.4.5→3.7.1, libarchive 3.6.2→3.8.8, libuv 1.51.0→1.52.1, libxml2 2.11.3→2.15.3
All tarballs re-downloaded from upstream mirrors, BLAKE3 hashes verified.
Continuing the comprehensive recipe walk per user instruction.
2026-07-11 15:59:18 +03:00
vasilito f28d633284 apply-patches.sh: symlink graphics libs to local forks (latest versions)
The 5 graphics libraries (freetype2, glib, harfbuzz, pango, cairo)
now use their local fork versions instead of the mainline
recipe versions:
- freetype2: 2.13.3 → 2.14.3
- glib: 2.87.0 → 2.89.1
- harfbuzz: 11.0.1 → 14.2.1
- pango: 1.56.3 → 1.56.4
- cairo: 1.18.4 (current)

Mainline recipe.toml files removed via symlink replacement.
Each local fork recipe tracks the latest stable release.
2026-07-11 15:37:03 +03:00
vasilito 344de21bb6 active build upgrades (Round 2 cont.): sed 4.4→4.10, meson 1.3→1.8.3, gettext 0.22→0.25.1, xz 5.2→5.8.1, zlib 1.3→1.3.1, file 5.46→5.47, patchelf 0.18→0.19.1
All tarballs re-downloaded from upstream mirrors, BLAKE3 hashes
verified against downloaded files. Per user request: walk through ALL
recipes, not just graphics. This is the active build pipeline batch.
2026-07-11 15:28:03 +03:00
vasilito b70f75b1e3 graphics packages: comprehensive version upgrades (Round 2)
KF6 frameworks: 44 packages 6.27.0 → 6.28.0
- Verified live upstream at https://download.kde.org/stable/frameworks/6.28/
- All tarballs re-downloaded, BLAKE3 hashes computed
- 39 auto-updated via script, 5 hand-fixed (kded6, notifyconfig,
  parts, pty, syntaxhighlighting) due to package-name variants

Local forks (CachyOS-stable):
- freetype2: 2.13.3 → 2.14.3
- libxkbcommon: 1.11.0 → 1.13.2
- glib: 2.87.0 → 2.89.1

Upstream recipes (gnome.org):
- harfbuzz: 11.0.1 → 14.2.1
- pango: 1.56.3 → 1.56.4

All tarballs re-downloaded from upstream mirrors, BLAKE3 hashes
verified against the downloaded files. Each recipe updated with
new tar URL + BLAKE3 hash.

This is the first batch of the Round-2 comprehensive upgrade.
cstdlib/fstring.h file 'tostring' recipe was already at 1.19.1
(was a 404 from cairographics.org, kept at 1.18.4). cairo recipe
was already at 1.18.4 (latest).

Build verification pending via build-redbear.sh. Per user
request, will continue to walk ALL recipes for outdated versions.
2026-07-11 15:10:43 +03:00
vasilito 8f655e757c kernel: debug markers 2026-07-11 14:38:52 +03:00
vasilito f114a3b3fb base: submodule pointer — bootstrap fix 2026-07-11 14:22:00 +03:00
vasilito f6f1dcb197 base: submodule pointer — bootstrap API adaptation 2026-07-11 14:13:51 +03:00
vasilito bb15b7b117 relibc: submodule pointer — float.h C11 macros 2026-07-11 13:57:04 +03:00
vasilito 5008627335 relibc: submodule pointer — unsafe fix 2026-07-11 13:48:03 +03:00
vasilito 0150e8bacb relibc: submodule pointer — getprogname() implementation 2026-07-11 13:42:07 +03:00
vasilito 05a003038d installer: submodule pointer — Cargo.lock fix 2026-07-11 13:17:35 +03:00
vasilito cb53247afa kernel: submodule pointer — merge-fix commit 2026-07-11 13:16:54 +03:00
vasilito edaebf9012 submodules: sync redoxfs Cargo.lock + deps 2026-07-11 12:44:40 +03:00
vasilito f70b482348 submodules: sync installer Cargo.lock 2026-07-11 12:29:24 +03:00
vasilito 27dd80b01f submodules: sync bootloader Cargo.lock 2026-07-11 12:19:53 +03:00
vasilito a72281c311 submodules: sync base Cargo.lock 2026-07-11 12:02:49 +03:00
vasilito 8f3a363a59 0.3.1: upgrade all forks to latest upstream
Fork upgrades:
- base: rebased to upstream/main (2551→0 behind), 251 files RB-patched
- kernel: merged upstream/master (7→0 behind), NUMA scheduler adopted
- installer: merged upstream/master (55→0 behind), path deps preserved
- libredox: reset to upstream/master (67→0 behind), RB path deps applied
- userutils: reset to upstream/master (200→0 behind), RB patches applied
- redoxfs: cherry-picked RB patches on upstream/master (4→0 behind)
- relibc: reset to upstream/master (3420→0 behind), fresh start with
  only path deps + version suffix. All previous RB patches for
  already-upstreamed functionality dropped per golden rule.
- syscall: already at 0 behind, version bumped
- bootloader: already upgraded in previous session

fork-upstream-map.toml: relibc version updated 0.6.0→0.2.5 (upstream
major version reset)
2026-07-11 11:46:20 +03:00
vasilito 2fb034fd62 submodules: sync 0.3.1 version bumps 2026-07-11 11:22:49 +03:00
vasilito 6e7c17d811 0.3.1: sync all Cat 1 + Cat 2 versions to +rb0.3.1 2026-07-11 11:21:22 +03:00
vasilito 4e88d1915f build system: add upstream drift detection and fork upgrade tooling
- check-fork-drift.sh: compares each submodule HEAD against upstream/master,
  reports behind/ahead counts, exits 1 if any fork exceeds threshold
- upgrade-forks.sh: fetches latest upstream, saves RB commits, resets to
  upstream, cherry-picks RB patches with conflict handling and backups
- build-preflight.sh: wired drift check into preflight (threshold=50,
  suppressible via REDBEAR_SKIP_DRIFT_CHECK=1)
- bootloader submodule pointer updated to latest upstream rebase
2026-07-11 11:20:29 +03:00
vasilito f2f6030dab bootloader: update recipe.toml for latest upstream Makefile format
Upstream bootloader Makefile uses BUILD=$(CURDIR) and auto-detects SOURCE.
Override BUILD to relative path so targets resolve correctly.
2026-07-11 10:51:38 +03:00
vasilito 068a1ca63e bootloader: rebase onto upstream 1.0.0, sync firmware-loader version
Bootloader fork rebase:
- Base changed from 0.1.0 pre-patched archive to upstream 1.0.0 tag (c7eeb9f)
- Applied 0001-redbear-local-forks.patch (Cargo.toml crate path redirects)
- Applied fix-uefi-alloc-panic.patch equivalents (4 panic!() -> graceful
  error handling in src/main.rs)
- Applied P5-live-preload-cap-1gib.patch (1 GiB cap on live image preload)
- Skipped: P0 GPT partition scan (requires new module + integration),
  P1 timeout/default-resolution, P2 live preload guard (subsumed by
  panic fixes + cap), P3 live image safe read, P4 large ISO boot,
  redox.patch — to be applied in dedicated rebase session.

firmware-loader/Cargo.toml: version 0.1.0 -> 0.3.0 (sync with other
Red Bear custom crates which are at 0.3.0).

fork-upstream-map.toml: bootloader back from PENDING_REBASE to 1.0.0
since the partial rebase matches upstream 1.0.0 content.

fork-upstream-map.toml: base restored to 'main' tracked (was correctly
tracked by build-redbear.sh).
2026-07-11 09:47:59 +03:00
vasilito 9bbc38fe60 build tools: gnu-grep 3.1→3.12, libsodium 1.0.16→1.0.22, autoconf 2.71→2.73
Live upstream versions verified 2026-07-11:
- gnu-grep 3.12 (2025-04-10)  -- https://ftp.gnu.org/gnu/grep/
- libsodium 1.0.22-stable (2026-07-08) -- https://download.libsodium.org/libsodium/releases/
- autoconf 2.73 (2026-03-20)  -- https://ftp.gnu.org/gnu/autoconf/

Each recipe updated with new tar URL + BLAKE3 hash. Build-tool upgrades are
isolated from the fork content-verification system, so these are SAFE to
upgrade without the relibc-style risk.

diffutils was already at 3.12 (previously committed).

Also: fork-upstream-map.toml — bootloader flagged PENDING_REBASE
(2026-07-11 detection: 1.0.0 tag mismatch, fork based on 0.1.0 archive
not a true rebase — documented inline).
2026-07-11 02:26:10 +03:00
vasilito 7d134eef37 verify-fork-versions.sh: remove snapshot content-skip, add base fork to map
Context: A relibc fork check via cargo compare exposed that the fork
labeled 0.6.0 (matching a 2020-12-23 upstream tag) was on a
completely different codebase from upstream master. The fork was
imported as a snapshot. The verify-fork-versions.sh tool allowed
this because 'snapshot' mode skipped byte-for-byte content comparison.

Changes:
1. Remove 'snapshot = skip content check' behavior. All Cat 2 forks must
   pass actual content comparison against their claimed upstream tag.
2. Add base to local/fork-upstream-map.toml so it's checked too (was missing).

Effect: Future 'fake version label' divergences (Cargo.toml says
version X but source content does not match upstream X) will be
caught by the preflight check instead of slipping through build.
2026-07-11 01:49:12 +03:00
vasilito 311a96bc94 qt/qtsvg: apply CVE-2026-6210 patch (heap-overflow in QSvgMarker::drawHelper)
Cherry-picked from Qt upstream (commit e488f852fa18c2afc2842a88eff8f66ad4105a45).
Original patch source:
https://download.qt.io/official_releases/qt/6.11/CVE-2026-6210-qtsvg-6.11.diff

Fix: Test types of nodes before downcasting them. A bad cast in
QSvgMarker::drawHelper led to endless recursion resulting in a heap
overflow. While fixing that, another similar case was also fixed.
2026-07-11 01:36:28 +03:00
vasilito 48021ef39c diffutils: add cookbook_make and cookbook_make_install steps
The diffutils recipe only ran cookbook_configure but never actually
compiled or installed anything, leaving stage.tmp empty (4K). This
caused redbear-mini to fail with a 4.0K INCOMPLETE stage and no
diff/diff3 binaries in the final image.

Add the missing make and make install steps, matching the pattern
used by other autotools recipes (bison, findutils, etc.).
2026-07-11 00:04:31 +03:00
vasilito 82869ff187 kde: remove kf6-kcrash OpenGL stub, restore setgroups, and re-enable KWin Sensors 2026-07-10 23:43:40 +03:00
vasilito 53ed5678f9 submodules: sync kernel for mmap result ignore 2026-07-10 23:34:54 +03:00
vasilito d3b488c44b submodules: sync relibc+kernel compile fixes 2026-07-10 23:28:09 +03:00
vasilito 078b2b2378 submodules: sync relibc for POSIX stub and ld_so work 2026-07-10 23:07:04 +03:00
vasilito 7d7c95ad15 submodules: sync kernel for rmm free frame tracking 2026-07-10 23:04:06 +03:00
vasilito e686659ea7 submodules: sync kernel for usermode_bootstrap error handling fix 2026-07-10 23:01:00 +03:00
vasilito 7419d00980 submodules: sync relibc, kernel, syscall for POSIX header and futex work 2026-07-10 22:52:01 +03:00
vasilito 8df60d3ec8 submodules: sync kernel+base for init bootstrap stack + setrens fallback 2026-07-10 22:49:21 +03:00
vasilito 3c2a4801ac submodules: sync base pointer for unimplemented! stub cleanup 2026-07-10 22:35:03 +03:00
vasilito cbcf992dc9 submodules: sync kernel pointer for EmulateArch::invalidate fix 2026-07-10 22:32:37 +03:00