Skip to content

Commit 9e44d13

Browse files
committed
Commit a Cargo.lock.minimal that works with our MSRV
This is not so trivial. In theory, cargo +nightly update -Z minimal-versions generate-lockfile ought to work. However, there are rather many places in our dependency tree where some crate A depends on crate B, version V, but it actually doesn't build with version V, but requires something considerably newer. There seemed to be particular problems in the parts of the dependency graph near "pest". My attempts at starting with the minimal versions and upgrading crates as needed, were not successful. However, I was able to converge reasonably quickly from the other end: starting with the lockfile generated by 1.59, using recent versions, and then repeatedly downgrading crates whose (actual, or declared) MSRV was too high. I used the following recipe on 2023-10-24 to generates this lockfile: Bump Tokio dependency to 1.29 in Cargo.toml cargo +1.59 generate-lockfile cargo +nightly update -Z minimal-versions -p linux-raw-sys cargo +nightly update -Z minimal-versions -p tokio cargo +nightly update -Z minimal-versions -p rustix cargo +nightly update -Z minimal-versions -p tempfile cargo +nightly update -Z minimal-versions -p reqwest cargo +nightly update -Z minimal-versions -p byteorder cargo +nightly update -Z minimal-versions -p h2 cargo +nightly update -Z minimal-versions -p log cargo +nightly update -Z minimal-versions -p tokio cargo +nightly update -Z minimal-versions -p [email protected] Discard the Tokio dependency update So that is what we commit here. This is unprincipled, and the recipe above has already rotted by 2023-11-06. In the future (especially on the mainline) we can hopefully have a more principled approach. Signed-off-by: Ian Jackson <[email protected]>
1 parent 069891c commit 9e44d13

File tree

1 file changed

+2083
-0
lines changed

1 file changed

+2083
-0
lines changed

0 commit comments

Comments
 (0)