Approaches for distributing Debian packages for Rust programs


I’m working on building a Debian package for rbspy, My goal is to distribute a public Debian package (using a registry like launchpad/packagecloud/bintray). So far I’ve identified 2 possible approaches:

  1. Use cargo deb to compile an x86_64 package in CI and upload it to a registry that hosts binary packages like packagecloud or bintray
  2. Create a source package and upload the package to a Launchpad PPA, and have Launchpad compile the package. The easiest way to do that today seems to be to use cargo vendor to create the source package – somebody seems to have packaged ripgrep this way, and there are instructions at

There’s also debcargo which lets you generate a source package and conform to the rust debian packaging policy, but for the purposes of distributing a single package via a PPA (not integrating it into Debian proper), vendoring all the dependencies in the Debian source package seems much easier both for users and for me.

Are there other approaches to making Rust Debian packages that I’ve missed? Not really looking for advice about which approach to pick – the pros/cons of both of them seem relatively clear to me, but it took me a while to discover those 2 approaches and it would be useful to know if there are other viable ways.


These are the only two automatic solutions I’ve heard of, at least.