Skip to content

Commit

Permalink
Commit a Cargo.lock.minimal that works with our MSRV
Browse files Browse the repository at this point in the history
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 actualloy 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 atteempts 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:
    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]

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]>
  • Loading branch information
ijackson committed Nov 6, 2023
1 parent 069891c commit 43a4737
Showing 1 changed file with 2,083 additions and 0 deletions.
Loading

0 comments on commit 43a4737

Please sign in to comment.