deps: migrate to multihash-codetable 0.2 (escape yanked core2)#77
Open
onehumankindness wants to merge 1 commit into
Open
deps: migrate to multihash-codetable 0.2 (escape yanked core2)#77onehumankindness wants to merge 1 commit into
onehumankindness wants to merge 1 commit into
Conversation
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.
Migrate to multihash-codetable 0.2.x
The current
multihash-codetable = "0.1"dependency pulls incore2 ^0.4.0transitively, which has been yanked from crates.io(every published version of
core2is yanked). This makes the wholebeetswap dependency graph unresolvable for downstream projects — a
fresh
cargo buildof any crate that depends onbeetswap0.5.0fails with:
multihash-codetable0.2.x replaced thecore2no-std I/O abstractionwith
digest-ioand bumped the underlyingdigesttrait from 0.10 to0.11, but the public surface beetswap uses — the
Codeenum, theMultihashDigesttrait,Code::try_from(u64),.digest(bytes)— ispreserved.
Changes
Cargo.toml: bumpmultihash-codetablefrom"0.1"to"0.2"inboth
[dependencies]and[dev-dependencies]."digest"feature flag from the dev-dependency — it doesnot exist in
multihash-codetable0.2.x.cargo buildandcargo checksucceed unchanged.
Verification
Built the migrated
Cargo.tomlagainstmultihash-codetable0.2.2with
rustc 1.96.0for two musl-static targets:x86_64-unknown-linux-musl: builds clean in 24s,lddreports"statically linked".
aarch64-unknown-linux-musl(Raspberry Pi 4, NixOS): builds clean,lddreports "not a dynamic executable".cargo auditno longer flags the yanked-core2 issue.Motivation
We're using beetswap as the sovereign blob transport in a downstream
networking project. The yanked-core2 issue is currently a hard blocker
for our integration work; we've been carrying this delta as a
transitional fork in our workspace. Submitting upstream rather than
maintaining a fork in perpetuity, per the adopt-and-contribute-first
principle.
If the maintainers prefer a different approach (e.g. waiting until a
broader
digest0.11 / multihash major bump, or pinning to a specificmhc 0.2 minor), happy to adjust.
Thanks for maintaining beetswap.