Move m68k fork out of vendor/ and rename it to copperline-m68k#62
Merged
Conversation
Fixes #57: offline/vendored builds (e.g. openSUSE OBS) failed with "failed to load checksum .cargo-checksum.json of m68k v0.1.5". Distro packaging vendors crates.io dependencies into a directory named vendor/ and points [source.vendored-sources] directory = "vendor" at it. Cargo then treats every subdirectory of vendor/ as a vendored registry crate and requires a .cargo-checksum.json for each one. Our committed path crate lived in vendor/m68k with no checksum file, so the offline build aborted. - Relocate the fork from vendor/m68k to crates/m68k so it no longer collides with the packaging vendor/ directory. - Rename the package from m68k to copperline-m68k. The name no longer matches the upstream crates.io m68k crate, and the dependency carries no version requirement, so no tool, [patch], or future workspace member can substitute the unmodified upstream core for this fork. - Keep the importable library name as m68k via [lib] name, and alias the dependency back with package = "copperline-m68k", so no source use m68k::... changes were needed. - Update .gitignore, VENDOR.md, and the remaining path references. Verified by reproducing the OBS scenario: cargo vendor followed by an offline build against [source.vendored-sources] now succeeds.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Offline/vendored builds (openSUSE OBS, and anyone using
cargo vendor) failed with:Distro packaging vendors crates.io dependencies into a directory named
vendor/and emits:Cargo then treats every subdirectory of
vendor/as a vendored registry crate and requires a.cargo-checksum.jsonfor each. Our committed path crate lived invendor/m68kwith no checksum file, so the offline build aborted.Fix
vendor/m68k->crates/m68k, so it no longer collides with the packagingvendor/directory.m68k->copperline-m68k. The name no longer matches the upstream crates.iom68kcrate, and the dependency carries no version requirement, so no tool,[patch], or future workspace member can substitute the unmodified upstream core for this fork.m68kvia[lib] name, and alias the dependency back withpackage = "copperline-m68k", so no sourceuse m68k::...changes were needed..gitignore,VENDOR.md, and the remainingvendor/m68kpath references in docs and one source comment.The 127 committed
*.bintest fixtures (force-added past the global*.binignore) were carried over to the new path as renames; none were lost.Verification
cargo build --release,cargo test --release(1194 passed, 0 failed),cargo clippy,cargo fmt --check: all clean.copperline-m68kbuilds from the local path while every crates.io dep resolves from the vendored directory.Closes #57