Manual update dependencies in rust-vmm crates - and provide releases
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 612
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
This update is needed because otherwise there will be crates using vmm-sys-util 0.10.0 and others using 0.11.0. The reason behind this is the (wrong) way in which we specify dependencies in a few of the rust-vmm crates. Specifically, some crates will just pick up the latest available version of a crate even if it introduces breaking changes (i.e. picking up 0.11.0 because the dep is specified as >= 0.9.0). We're progressively fixing this by always having dependencies specified with caret, but this work was not yet completed for a few crates. As such, we need to:
- fix the way we specify dependencies for the crates (use caret instead of >=)
- provide a new release
The order in which we provide releases matters because of the dependency between crates.
For example, we first need to update kvm-bindings, publish it, and then update kvm-ioctls by specifying a new version for both vmm-sys-util and kvm-bindings.
This issue is tracking this one time effort. We're not tracking here a saner way to do the updates, as this is going to happen afterwards. Tracking issues: #135 & TBD (for releases).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by auditing dependency declarations in the rust-vmm crates, especially kvm-bindings and kvm-ioctls, and compare their vmm-sys-util versions with the caret rule described here. Update and publish kvm-bindings before updating and publishing kvm-ioctls, then verify dependent crates resolve compatible versions and review #135 plus the TBD release tracking item.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, release
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100