da60fd4f6d
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)
62 lines
1.8 KiB
TOML
62 lines
1.8 KiB
TOML
[package]
|
|
name = "redbear_cookbook"
|
|
# IMPORTANT: keep in lock-step with the current Red Bear OS release branch.
|
|
# `local/scripts/sync-versions.sh` updates this field on every branch bump,
|
|
# so the cookbook binary always reports the correct OS version it builds.
|
|
# Branch 0.3.1 as of 2026-07-12.
|
|
version = "0.3.1"
|
|
authors = ["Jeremy Soller <jackpot51@gmail.com>"]
|
|
edition = "2024"
|
|
default-run = "repo"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[[bin]]
|
|
name = "cookbook_redbear_redoxer"
|
|
path = "src/bin/cookbook_redoxer.rs"
|
|
|
|
[[bin]]
|
|
name = "repo"
|
|
path = "src/bin/repo.rs"
|
|
|
|
[[bin]]
|
|
name = "repo_builder"
|
|
path = "src/bin/repo_builder.rs"
|
|
|
|
[lib]
|
|
name = "cookbook"
|
|
path = "src/lib.rs"
|
|
doctest = false
|
|
|
|
[features]
|
|
#TODO: Actually make without tui feature works
|
|
default = ["tui"]
|
|
tui = ["ratatui", "ansi-to-tui", "strip-ansi-escapes"]
|
|
|
|
[dependencies]
|
|
anyhow = "1"
|
|
blake3 = "1"
|
|
globset = "0.4"
|
|
libc = "0.2"
|
|
ignore = "0.4"
|
|
object = { version = "0.38", features = ["build_core"] }
|
|
pkgar = { git = "https://gitlab.redox-os.org/redox-os/pkgar.git" }
|
|
pkgar-core = { git = "https://gitlab.redox-os.org/redox-os/pkgar.git" }
|
|
pkgar-keys = { git = "https://gitlab.redox-os.org/redox-os/pkgar.git" }
|
|
redox-pkg = { git = "https://gitlab.redox-os.org/redox-os/pkgutils.git", default-features = false }
|
|
redox_installer = { path = "local/sources/installer", default-features = false }
|
|
redoxer = { git = "https://gitlab.redox-os.org/redox-os/redoxer.git", default-features = false }
|
|
regex = "1.11"
|
|
serde = { version = "=1.0.197", features = ["derive"] }
|
|
termion = "4"
|
|
toml = "0.8"
|
|
walkdir = "2.3.1"
|
|
ansi-to-tui = { version = "8", optional = true }
|
|
strip-ansi-escapes = { version = "0.2.1", optional = true }
|
|
|
|
[dependencies.ratatui]
|
|
version = "0.30"
|
|
default-features = false
|
|
features = ["termion"]
|
|
optional = true
|