Files
RedBear-OS/Cargo.toml
T
Red Bear CI 815e43b22b cookbook: T1.1 — content-hash stability for stage.pkgar
After packaging, hash the staged sysroot with BLAKE3 (sorted paths,
deterministic). Compare against the previous build's fingerprint
stored next to stage.pkgar. If identical, restore the old pkgar mtime
on the new pkgar so dependents do not see a 'changed' timestamp and
skip their own rebuilds.

This catches the no-op rebuild pathology where a config-only change
(comment edit, [patch] reordering, dependency re-resolution) produces
byte-identical output but cascades through every dependent because of
mtime advancement.

Verified: 23 fingerprints written during redbear-mini build; T1.1
preserved mtime messages logged for relibc, libffi, expat, glib,
pcre2, etc. — all packages whose content was unchanged from the
previous build.

Plan: local/docs/BUILD-SYSTEM-ROBUSTNESS-PLAN.md
2026-06-08 19:18:38 +03:00

59 lines
1.6 KiB
TOML

[package]
name = "redbear_cookbook"
version = "0.1.0"
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"
filetime = "0.2"
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 = { git = "https://gitlab.redox-os.org/redox-os/installer.git", 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