Published: lun. 06 octobre 2025
By gagath
In packaging .
Kanata is finally packaged and available in testing (Debian forky). This
is the result of a long effort of bringing its dependencies in the archive as
well as some necessary patching. Let’s look what it took and what will be the
next steps.
Patches accepted upstream!
Debian has a long tradition of sending its patches upstream, and my
contributions are no exception to this rule. Sometimes upstream will ignore
them, but it was not the case with kanata, as all pull-requests have been
accepted on Github:
These patches seem to be available in kanata v1.10.0-prerelease-1 on
crates.io , but since this is a prerelease it will not be imported in Debian
just yet. When the full version is released, the patches will be dropped from
Debian as they will now be integrated in upstream directly.
It works on Ubuntu, too
I am successfully using this package on Ubuntu machines as well. To install it,
I am installing kanata.deb from Debian directly . Since Rust binaries are
statically linked to their crates, this happen to just work on Ubuntu, although
I know it is not recommended to install packages this way. Indeed, to get
(security?) updates, one needs to manually check and install new releases.
The ideal way would be to have some PPAs to distribute kanata to the matching
alive Ubuntu releases, but this PPA would need to contain all the Rust
dependencies as well to allow the PPA to build the crate from source. This is a
lot of work for little benefit, as the built package would probably be very
similar to the one in Debian because of the final static linking. So for
purists, one would have to wait the next Ubuntu release which should contain
kanata in universe automagically.
The same would be needed to backport kanata to Debian trixie, as kanata did not
make it into this stable Debian release and is currently available only in
testing and unstable. Backporting these dependencies is not small feat. There
is also the issue that the Debian Rust Team, which I am a part of, currently
has no clear path to follow to backport Rust software to Debian stable
releases. I have been told that some branching scheme was under draft for the
salsa debcargo-conf git monorepo , but is not ready yet.