Re: [PATCH 1/7] xdiff: introduce rust

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2025-07-18 at 23:15:19, Ezekiel Newren wrote:
> This goes against what I think is best practices.  Don’t we need
> Cargo.lock to audit and debug platform specific issues, and to ensure
> reproducibility?  Without Cargo.lock, we might get different results
> one minute to the next if one of our dependencies releases a new
> version. Checking in Cargo.lock aligns with Cargo’s documented best
> practices (https://doc.rust-lang.org/cargo/faq.html#why-have-cargolock-in-version-control).

I appreciate that, but best practices also don't limit software to a
six-week lifespan.  Rust the language is a great tool, but we also have
a special case here in that we need to support software that upstream
does not and that we care about OS distros, which upstream does not.

Note that when someone builds locally, a Cargo.lock will be created and
they will get reproducible builds from that point on.  It is only on
first build that they will get whatever's the latest.

> I understand your concern and I agree that this could become a
> problem. I’m totally flexible on which rust version should be used,
> but without Cargo.lock checked in we lose the ability to audit why a
> build failed. I think that this will be a pain point, but numbing that
> pain means we can’t solve intermittent problems due to dependencies in
> the future.

I was one of the maintainers for Git LFS for several years.  We
routinely had people come to us and say, "This dependency you're using
has a portion that you're not using, which has a CVE.  I demand you
update it and do a new release immediately because our security scanner
is going off and our company policy is that there be no exceptions."
This happens literally all the time and I absolutely in no case want to
see those people on this list or the security list.

So the options as I see them are (a) we don't check in Cargo.lock, (b)
we convince the Rust project and the ecosystem to provide LTS releases
with security fixes, or (c) we only accept dependencies that have our
same lifetime policy (which are very few and far between).  I know this
makes builds unreproducible (although not under the Reproducible Builds
project's definitions), but we really don't have many alternatives.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux