rust: Make dependencies visible#18684
Merged
MrKevinWeiss merged 4 commits intoRIOT-OS:masterfrom Mar 26, 2024
Merged
Conversation
Contributor
|
Is this still relevant? |
Changes pulled by this are: * add hashes to riot-sys headers <RIOT-OS/rust-riot-sys#43> * administrative changes (riot-sys 0.7.11, CI fixes)
All changes appear to be minor; some crates that were previously part of the build dependencies twice can now be shared between build dependencies.
Changes pulled by this are: * optimizations around panicking <RIOT-OS/rust-riot-wrappers#82> * administrative changes (CI fixes)
6075f78 to
a5d18fb
Compare
Member
Author
|
It still is, and I completely forgot about it. Thanks for pinging me -- it is now rebased (with only one commit left because master is sufficiently up to date). Unless anything happens in CI, this should be good to go. |
a5d18fb to
1c2c65b
Compare
The Cargo.lock of rust_riotmodules_standalone should explicitly list all versions of software that would ever be pulled in by enabling RIOT modules backed by a Rust crate. That way, the Cargo.lock file will not spontaneously change because the software is being built with a different set of modules enabled. This did not happen before, because while the optional dependencies could all be selected on the command line, they were not visible as possible features to `cargo update`, and were thus not encoded in the Cargo.lock file.
1c2c65b to
a5c9ac2
Compare
Member
Author
|
... and force pushed because this would have conflicted with #20489 that is already in the merge queue. (So, ignore the first 3 commits; by the time this gets merged, only the latest commit should be new relative to master.) |
Teufelchen1
approved these changes
Mar 26, 2024
Contributor
|
Sorry, #20438 will never get in if every merge conflicts and kicks it out. I will requeue when ready. |
Member
Author
|
sure, take priority for that. can you reenable once done so i get pinged to resolve?
|
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.
Contribution description
The Cargo.lock of rust_riotmodules_standalone should explicitly list all
versions of software that would ever be pulled in by enabling RIOT
modules backed by a Rust crate. This did not happen before, because
while the optional dependencies could all be selected on the command
line, they were not visible as possible features to
cargo update, andwere thus not encoded in the Cargo.lock file.
Testing procedure
CI is probably good enough, but to understand what it does, look at
cargo tree --all-featuresinsys/rust_riotmodules_standalonebefore and after -- and compare those with the output ofmakeintests/rust_libs. You will see that before,cargo tree -all-featuresdid not show thelsm303agrcrate as a listed dependency, even though themakeoutput clearly illustrates that it is being pulled in. After, all crates used will also be shown incargo tree.These
cargo treeoutputs also align with the content of the Cargo.lock files before and after.Issues/PRs references
This should probably have been done right in #16833 -- sorry for the oversight.
This PR is built on #18683 -- so while that's not in, please ignore the first commit.