Introduction
This is the all-in-one "book" of the Debian Rust Team. It's a living document, updated as packaging practices evolve.
If you are new to Rust packaging in Debian, or Rust the language, consider reading Getting started. If you are also new to Debian packaging in general, consider reading the Packaging Tutorial by Lucas Nussbaum first. You need to have a basic understanding of Debian packaging before packaging Rust things for Debian.
The team
What the Debian Rust Team does:
- Package the Rust compiler (rustc) and the cargo package manager
- Package various programs and libraries distributed on crates.io, the official Rust package registry
- Coordinate with and help other teams with packages that involve Rust1
- Maintain the Rust packaging policy
Team packages are hosted on salsa:
- rustc and cargo are at rust-team/rust (cargo used to be its own packaging at rust-team/cargo, but has since been merged into the rustc package since 1.70.0+dfsg1-1)
- normal packages are in a monorepo at rust-team/debcargo-conf, see Single crate packaging process
For example, the Debian Gnome Team has its own packaging policy for Gnome apps written in Rust; the Debian Python Team has seen packages starting to use extensions written in Rust, rather than C/C++.
Get involved
- Mailing list: debian-rust@lists.debian.org, subscribe (also list archive)
- IRC: #debian-rust:irc.oftc.net
- Matrix: #debian-rust:matrix.debian.social (bridged to the IRC channel)
Join the team
Welcome, and thank you for helping out! Please subscribe to the mailing list and say hello in the IM channels. Because the packaging processes are a bit different than in other places, it's helpful to start with a merge request, so we can help you getting used to it. When you are confident, Request Access on the salsa team page ("︙" button to the right of the team name).
This book
The source is at rust-team/book. It's built using salsa CI and
published to https://rust-team.pages.debian.net/book/. Its pipeline definition
is in the .gitlab-ci.yml
file in the repo.