diff --git a/local/docs/VENDORED-LIBC-FORK.md b/local/docs/VENDORED-LIBC-FORK.md index a9c80ce601..13e83731e5 100644 --- a/local/docs/VENDORED-LIBC-FORK.md +++ b/local/docs/VENDORED-LIBC-FORK.md @@ -4,6 +4,9 @@ upstream `libc` carries the Redox bindings. **Location:** `local/sources/libc/` **Base:** crates.io `libc` 0.2.189, unmodified except `src/unix/redox/mod.rs`. +**Version label:** `0.2.189+rb` — Cat 2 convention. `+rb` is build +metadata, which semver ignores when matching, so `^0.2` requirements still +resolve to the fork. A `-rb` suffix would read as a pre-release and fail. **Established:** 2026-08-03. Related: `LOCAL-FORK-SUPREMACY-POLICY.md`, `FORK-BUMP-PATCHING-POLICY.md`, @@ -62,10 +65,12 @@ libc = { path = "../../../../local/sources/libc" } be read as a pre-release and fail to satisfy them — see `local/AGENTS.md` § "Version conventions". -Registered in `local/fork-upstream-map.toml` as a `snapshot` fork (its history -comes from the registry, not a git clone), with `src/unix/redox/mod.rs` on the -declarative expected-differ list in `verify-fork-versions.sh` so the content -check stays meaningful rather than being blanket-skipped. +Registered in `local/fork-upstream-map.toml` as `diverged`. The fork is vendored +from the crates.io **package**, whose file set differs from the upstream git tag +by construction — the package omits `.github/` and adds `.cargo_vcs_info.json` — +so a tag content-diff reports differences that mean nothing. `snapshot` mode was +tried first and produced exactly that noise. `src/unix/redox/mod.rs` is also on +the expected-differ list in `verify-fork-versions.sh` for when the mode changes. ## Retiring this fork diff --git a/local/fork-upstream-map.toml b/local/fork-upstream-map.toml index 6bc091b365..4e82fd185b 100644 --- a/local/fork-upstream-map.toml +++ b/local/fork-upstream-map.toml @@ -44,4 +44,4 @@ base https://gitlab.redox-os.org/redox-os/base.git main tr # surface relibc already implements and the libc crate still omits as of # 0.2.189. TEMPORARY: drop this fork once upstream libc carries the Redox # bindings. See local/docs/VENDORED-LIBC-FORK.md. -libc https://github.com/rust-lang/libc.git 0.2.189 snapshot +libc https://github.com/rust-lang/libc.git 0.2.189 diverged # vendored from the crates.io PACKAGE, whose file set differs from the git tag by construction (no .github/, adds .cargo_vcs_info.json), so a tag content-diff is meaningless; divergence is confined to src/unix/redox/mod.rs diff --git a/local/recipes/dev/gcc16/.vendored-upstream b/local/recipes/dev/gcc16/.vendored-upstream new file mode 100644 index 0000000000..58b68e03c6 --- /dev/null +++ b/local/recipes/dev/gcc16/.vendored-upstream @@ -0,0 +1,8 @@ +GCC 16.1.0 upstream source, extracted from source.tar and carrying the Redox +target port (local/patches/gcc-redox-port/). Its tree includes vendored Rust +crates under gcc/rust/checks/errors/borrowck/ffi-polonius/, which are upstream +third-party code and must keep their own versions. + +Without this marker sync-versions.sh treats them as Cat 1 in-house crates and +reports drift, wanting to stamp datafrog/log/polonius-engine with the Red Bear +branch version. See local/docs/BUILD-SYSTEM.md section 7 "Forks & versioning". diff --git a/local/sources/libc/Cargo.toml b/local/sources/libc/Cargo.toml index 381f64ebbb..1d1324af46 100644 --- a/local/sources/libc/Cargo.toml +++ b/local/sources/libc/Cargo.toml @@ -13,7 +13,7 @@ edition = "2021" rust-version = "1.65" name = "libc" -version = "0.2.189" +version = "0.2.189+rb0.3.2" build = "build.rs" exclude = [ "/ci/*",