Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
There's now a lock file upstream in rust-lang/rust so the one here isn't actually used, and otherwise this crate is used as a dependency so the lock file isn't respected anyway!
- Loading branch information
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for tirelessly finding new ways how to make packaging Cargo for distributions more PITA… :(
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jirutka sarcasm doesn't help.
As the commit message says, this isn't actually used, so keeping it here wouldn't have helped regardless.
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don’t use it, that does not mean that no one else don’t use it!
I’m maintaining rust and cargo packages for Alpine Linux. It’s essential to get exactly the same source tree (including dependencies) each time the package of the same version is built. Cargo.lock contains the exact versions of all the needed crates including checksums, so when building with option
--locked
, I can be relatively sure that the result will be always the same.Merging cargo into rust package and building it at once is not a good approach.
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you used it, it would be incorrect, and not actually build, because it would have drifted from what works.
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pardon me? Cargo is a crate and has Cargo.toml, so why it can’t have working Cargo.lock?!
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just hit this in nixpkgs. Here's the reasons why I don't like this change:
Can you give some guidelines on how you expect distributions to actually package cargo? For example, should cargo always be updated in lockstep with rustc, and never be built by itself? If so, that would be good to know for downstream distributions.
One solution right now for us would be to just generate our own lockfile and use that for the package, but I am not sure if that's what you intended with this change?
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bennofs the expectation is that cargo is packaged next to rustc, it's not intended to be a separate package but rather built as one unit.
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So if rustc update is blocked for some reason, we also need to block cargo updates?
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the published version of Cargo is only intended to work with that exact version of rustc it's published with. They shouldn't be updated at different times.
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alexcrichton can you please elaborate how can I build rustc so that cargo is also build and installed?
5c9665f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@psumbera sounds like a question for IRC and/or internals? Or perhaps a rust-lang/rust issue?