A few updates: On Mon, Jan 08, 2024 at 12:45:35PM +0200, Faidon Liambotis wrote: > * librust-gag-dev is now in Debian. Still true, but also now moot, as it the dependency has been removed upstream: https://github.com/koverstreet/bcachefs-tools/commit/5e224596cfdf9ad9413536482224e2fe79b9e387
> * I don't think librust-parse-display-dev is needed. Upstream indeed > has parse-display in Cargo.toml, but as far as I can tell, it's not > used anywhere and it's just a spurious dependency? Needs to be > forwarded upstream, I think. Did that, and more dependencies were removed as a result of that subthread: https://github.com/koverstreet/bcachefs-tools/commit/5ed0dcc00100c2f361e917760bd114a7af12394a https://github.com/koverstreet/bcachefs-tools/commit/807cabc4c960347319b5f9566e4d24b28e0183b4 > * The "udev" crate is required, and missing from the > missing list. Note that it's distinctly different to > librust-libudev-dev. debcargo generates a librust-udev-dev package > that seems to build with minor modifications, and no other > dependencies. Still required. > * A bunch of these packages have mismatched versions. From a quick > glance, everything compiled with the versions in Debian, except for > rpassword that also required a patch to account for an API change: > - rpassword::read_password_from_tty(Some("Enter passphrase: "))? > + rpassword::prompt_password("Enter passphrase: ")? Merged upstream with: https://github.com/koverstreet/bcachefs-tools/commit/06ff8b55b70fda44d91b31b5511fafd1680a8934 > * bch_bindgen also depends on a custom fork of rust-bindgen, checked out > from bcachefs' git. This seems to have only a patch compared to what's > shipped in Debian, originating in an upstream issue: > https://github.com/rust-lang/rust-bindgen/issues/2240 > > This could perhaps be reported against the Debian package to backport > in a debian/patches patch. This turned out to be more complicated. There's been some discussion on the upstream bug tracker: https://github.com/koverstreet/bcachefs-tools/issues/202 including a proposed way forward, that Thomas Bertschinger kindly implemented: https://lore.kernel.org/linux-bcachefs/20240122201913.GA207770@fedora-laptop/T/#t Finally, note that in the meantime main() was converted to Rust, so now Rust is not just a nice to have, but a necessary dependency to newer upstream versions: https://github.com/koverstreet/bcachefs-tools/commit/0a284fc4ffcbb46f0a4b921415ef12a9c75fa05c To summarize, the next upstream release will make the Rust parts necessary, but (hopefully) much easier to package. But someone should upload the only missing dependency, librust-libudev-dev, in the meantime. (I'd prefer for that someone to not be me :) Faidon