News: 0001488415

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Debian Orphans Bcachefs-Tools: "Impossible To Maintain In Debian Stable"

([Debian] 48 Minutes Ago Bachefs-Tools)


Even before the Bcachefs file-system driver was accepted into the mainline kernel, Debian for the past five years has offered a "bcachefs-tools" package to provide the user-space programs to this copy-on-write file-system. It was simple at first when it was simple C code but since the Bcachefs tools transitioned to Rust, it's become an unmaintainable mess for stable-minded distribution vendors. As such the bcachefs-tools package has now been orphaned by Debian.

Jonathan Carter who had been maintaining the bcachefs-tools package in Debian for the past five years has thrown in the towel on it after having enough trying to properly package up the modern Rust-based code. Carter explained in a blog post today:

"So, back in April the Rust dependencies for bcachefs-tools in Debian didn’t at all match the build requirements. I got some help from the Rust team who says that the common practice is to relax the dependencies of Rust software so that it builds in Debian. So errno, which needed the exact version 0.2, was relaxed so that it could build with version 0.4 in Debian, udev 0.7 was relaxed for 0.8 in Debian, memoffset from 0.8.5 to 0.6.5, paste from 1.0.11 to 1.08 and bindgen from 0.69.9 to 0.66.

I found this a bit disturbing, but it seems that some Rust people have lots of confidence that if something builds, it will run fine. And at least it did build, and the resulting binaries did work, although I’m personally still not very comfortable or confident about this approach (perhaps that might change as I learn more about Rust).

With that in mind, at this point you may wonder how any distribution could sanely package this. The problem is that they can’t. Fedora and other distributions with stable releases take a similar approach to what we’ve done in Debian, while distributions with much more relaxed policies (like Arch) include all the dependencies as they are vendored upstream."

Basically the tight Rust dependencies are making it a mess for maintaining bcachefs-tools in distributions like Debian. Carter further added:

"As it stands now, bcachefs-tools is impossible to maintain in Debian stable. While my primary concerns when packaging, are for Debian unstable and the next stable release, I also keep in mind people who have to support these packages long after I stopped caring about them (like Freexian who does LTS support for Debian or Canonical who has long-term Ubuntu support, and probably other organisations that I’ve never even heard of yet). And of course, if bcachfs-tools don’t have any usable stable releases, it doesn’t have any LTS releases either, so anyone who needs to support bcachefs-tools long-term has to carry the support burden on their own, and if they bundle it’s dependencies, then those as well."

Initially bcachefs-tools was going to be removed from Debian completely, but on feedback from other Debian developers, the package was orphaned instead. It remains in Debian experimental but removed from Debian unstable so that it doesn't migrate to testing. The old versions of bcachefs-tools will also be removed from Debian stable and Debian oldstable too given they don't likely work with the current upstream Bcachefs Linux kernel code.

Carter ended his [1]blog post about orphaning bcachefs-tools with:

"And so, my adventure with bcachefs-tools comes to an end. I’d advise that if you consider using bcachefs for any kind of production use in the near future, you first consider how supportable it is long-term, and whether there’s really anyone at all that is succeeding in providing stable support for it."

There is also more commentary within [2]the Debian bug report over orphaning bcachefs-tools and dropping it from unstable.



[1] https://jonathancarter.org/2024/08/29/orphaning-bcachefs-tools-in-debian/

[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%231079375



Naib

Quackdoc

hf_139

waxhead

TheMightyBuzzard

Old Mother Hubbard went to the cupboard
To fetch her poor daughter a dress.
When she got there, the cupboard was bare
And so was her daughter, I guess...