On Sun, 02 Aug 2026 17:24, Jonathan Nieder <[email protected]> wrote:
Source: git Version: 1:2.55.0-1 Severity: important Justification: will be required in git 3.0 X-Debbugs-Cc: [email protected]As described in Documenation/BreakingChanges.adoc[1], in Git 3.0, Git will require Rust as a mandatory part of the build process. While Git already started to adopt Rust in Git 2.49, all parts written in Rust are optional for the time being. The current packaging passes NO_RUST=1 in debian/rules to be able to keep building but it would be better to build with rust already so the build doesn't break in Git 3.0. Help wanted: reading through https://rust-team.pages.debian.net/book/, it's not obvious how to idiomatically do packaging of this kind of program that is not shipped as a crate but just uses Rust in its internals. When using the cargo wrapper, what should I pass in for DEB_CARGO_CRATE? Is [2] a good example to imitate here? If I make a draft of packaging, would the Debian rust team be interested in looking it over before an upload (or, alternatively, would someone from the rust team like to prepare a patch that can be incorporated in the next upload)?
Hi Jonathan,python-cryptography is indeed a good example to copy from. Another one would be loupe.
The process is usually:To generate the correct dependency list for d/control, you can install debcargo and then run:
$ debcargo update-dependencies If the packaged librust-* is too old/new, add a patch up/downgrading it. Initially set up the wrapper script, copying essentially e.g. loupe.DEB_CARGO_CRATE is essentially a hack that provides cargo with a name and version number. If you have a tree ready, I can take a look at it. Feel free to ask here or on #debian-rust IRC if anything is still unclear. https://wiki.debian.org/Gnome/Rust_Packaging describes most of it, which I really ought to add the to the book at some point.
best, -- Matthias Geiger <werdahias> Debian Developer -- KiCad Contributor GPG: ECBEDBB607B9B2BE
signature.asc
Description: Digital signature

