Commit Graph

7 Commits

Author SHA1 Message Date
vasilito da60fd4f6d phase 0: cookbook version, TODO fallback, Cargo.lock drift, AGENTS.md honesty
Phase 0 stop-the-bleeding fixes:

1. ROOT COOKBOOK VERSION DRIFT (G2)
   Cargo.toml was at 0.2.5 while branch is 0.3.1. Now matches.
   Added inline comment explaining the sync-versions.sh invariant
   to prevent the next fork bump from re-introducing drift.

2. SILENT TODO FALLBACK (G3)
   src/cook/package.rs:199 used .unwrap_or("TODO".into()) which
   emitted literal "TODO" into pkgar metadata when a recipe had
   no parseable version. Now fails fast with a precise error
   message that names the offending recipe and suggests a fix.
   Replaces silent metadata lie with actionable diagnostic.

3. CARGO.LOCK DRIFT (G1)
   After 0.3.0 -> 0.3.1 fork version sync, four Cargo.lock files
   were regenerated to match the new +rb0.3.1 suffix:
   - root Cargo.lock
   - local/sources/libredox/Cargo.lock
   - local/sources/userutils/Cargo.lock
   - local/sources/base/Cargo.lock (also accumulated bytemuck
     and bytemuck_derive patch bumps as a side effect)
   - local/sources/bootloader/Cargo.lock
   - local/sources/installer/Cargo.lock
   Used 'cargo generate-lockfile' per fork with their path-dep
   + [patch.crates-io] config preserved. Verified each lockfile
   now contains the correct Cat 2 fork versions matching their
   Cargo.toml at +rb0.3.1.

4. BOOTLOADER VERSION OVERSIGHT
   local/sources/bootloader/Cargo.toml was still at
   1.0.0+rb0.3.0 after sync-versions.sh --check passed for
   everything else. Manual fix applied. Also regenerated its
   Cargo.lock to match.

5. COLLISION DETECTION HONESTY (G9)
   AGENTS.md and local/AGENTS.md claimed a CollisionTracker
   module existed in src/cook/collision.rs and was wired
   through the installer at runtime. A whole-tree search
   confirmed NO such code exists anywhere. Removed the false
   promises and linked to local/docs/COLLISION-DETECTION-STATUS.md
   which documents the actual current state (lint-config-only
   init-service detection works; general package-vs-config
   detection does NOT).

Verified:
  - bash -n on all touched scripts: clean
  - cargo check --bin repo: clean (redbear_cookbook v0.3.1 now)
  - sync-versions.sh --check: clean (75 Cat 1 + 10 Cat 2)
  - verify-fork-versions.sh: 1 pre-existing FAIL (bootloader
    fork genuinely diverges from upstream tag 1.0.0 — out of
    scope for Phase 0; documented for Phase 1 upgrade-forks work)
2026-07-12 01:20:21 +03:00
vasilito 9e6851d43c USB: P3 scheme service wrapper — redbear-ftdi registers /scheme/ttys/usbFTDI_<N>
Same pattern as acmd: FtdiScheme with Mutex<XhciEndpHandle>,
SchemeSync impl, Socket::create() + register on Redox,
stdout fallback on host/Linux.
2026-07-07 19:24:46 +03:00
vasilito b8aac3c9bc D7: editor multi-cursor support
Add secondary_cursors field to Editor with insert_char_multi,
delete_back_multi, delete_forward_multi methods. Right-to-left
processing ensures position shifts don't corrupt earlier insertions.

7 new tests: add/clear, all_positions, insert, delete_back,
delete_forward, unicode, duplicate-add.
2026-07-05 22:29:19 +03:00
vasilito a84a99cc24 build-cache: package groups in config + installer local fork (Phase 3)
- config/redbear-full.toml: 9 package groups defined (graphics-core,
  input-stack, dbus-services, firmware-stack, qt6-core, qt6-extras,
  kf6-frameworks, desktop-session, kde-desktop)
- Cargo.toml: switch redox_installer from upstream git to local fork
  (path = "local/sources/installer") to use package group support
- Cargo.lock: remove installer git source entry
- local/sources/installer: bump to package groups commit

Groups are resolved transparently by Config::from_file() — the cookbook
repo binary sees expanded packages automatically.
2026-06-30 15:59:36 +03:00
vasilito a223e2ff67 Fix redbear-mini build: syslog va_list, ps2d, fbcond, acpid, bootstrap, m4, bash
Core fixes to get redbear-mini building and booting via UEFI:

relibc: Use 'VaListImpl as va_list' in syslog so cbindgen outputs va_list
  instead of unknown VaListImpl type (matches stdio pattern). Fixes
  openssl3 and all C consumers of syslog.h.

base fork (f97da5b0): ps2d missing info! import, ps2d dead variable,
  fbcond drm-0.15 API fix, acpid 31 errors (ivrs/mcfg modules, duplicate
  methods, packed fields, dmar copy-paste bug), bootstrap abort_immediate
  removal (feature removed from nightly)

redox-driver-sys: Add PciQuirkFlags re-export for crate-root imports

bash: Regenerate P1-mksyntax-host-headers.patch with proper unified diff

m4: Fix getlocalename_l unsafe wrapper

config: Comment out mc (requires glib-2.0 chain, not needed for mini)

UEFI boot verified in QEMU — boots to RedBear login prompt.

Author: vasilito <adminpupkin@gmail.com>
2026-06-19 08:30:37 +03:00
vasilito 5b95e9aa9c Add runtime tools and Red Bear service wiring 2026-04-14 10:50:42 +01:00
vasilito 50b731f1b7 Red Bear OS — microkernel OS in Rust, based on Redox
Derivative of Redox OS (https://www.redox-os.org) adding:
- AMD GPU driver (amdgpu) via LinuxKPI compat layer
- ext4 filesystem support (ext4d scheme daemon)
- ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG)
- Custom branding (hostname, os-release, boot identity)

Build system is full upstream Redox with RBOS overlay in local/.
Patches for kernel, base, and relibc are symlinked from local/patches/
and protected from make clean/distclean. Custom recipes live in
local/recipes/ with symlinks into the recipes/ search path.

Build:  make all CONFIG_NAME=redbear-full
Sync:   ./local/scripts/sync-upstream.sh
2026-04-12 19:05:00 +01:00