Source: bcachefs-tools Version: 24+really1.3.4-2 Severity: important The bcachefs-tools package builds the C portion of the tarball, and not the parts written in Rust (under rust-src/). This results in a crippled functionality, such as the missing "mount" binary (#1057295).
There is a README.todo to that effect, that currently says: > Dependencies available in Debian: librust-byteorder-dev librust-rpassword-dev > librust-either-dev librust-errno-dev librust-itertools-dev librust-getset-dev > librust-uuid-dev librust-libudev-dev librust-libc-dev librust-anyhow-dev > librust-clap-dev librust-colored-dev librust-chrono-dev librust-log-dev > librust-atty-dev > > Missing dependencies: librust-gag-dev librust-parse-display-dev > librust-bch-bindgen-dev This seems a bit inaccurate/outdated, in the following ways: * librust-gag-dev is now in Debian. * 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. * 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. * 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: ")? * librust-bch-bindgen-dev is not a package that's missing; that's from the bcachefs-tools source tree, under rust-src/bch_bindgen/. * In turn, rust-src/bch_bindgen/ requires librust-bitfield-dev and librust-paste-dev, both already in Debian. * 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. All in all as far as I can tell the tally is: 1 new easy-to-package Rust library, 1 patch to a third-party Debian package, 1 patch to bcachefs-tools, a few Cargo.toml version bumps. That doesn't look too bad, I guess? Faidon