Packaging Rust for Debian
summary
Maintains roughly ~100 packages and describes using Cargo offline mode to satisfy Debian’s build-on-an-island promise, producing Debian source packages from crates.io and running unit tests during install and post-install phases. Resolves Cargo feature-level dependency loops by creating meta-packages, handles static linking and manpage generation by including clap config in build.rs, and flags scale: about 1,500 packaged libraries versus ~100,000 on crates.io, causing manpower and version-skew problems.
AI-written summary · about
chapters (28)
- 0:00Packaging Rust for Debian
- 1:20Why I started
- 2:51Why it matters
- 4:18Debian’s promises
- 8:49Debian’s quality standards
- 9:10Rust packaging in practice
- 13:32Handling Rust features
- 19:30Copyright and licensing
- 20:16Starting packaging process
- 21:45Automating Debian package
- 23:15Live demo: packaging crate
- 28:00Building in Debian
- 30:10Common build pitfalls
- 30:53Generating manual pages
- 33:23Manual page generation
- 33:43Resolving dependency loops
- 37:28Managing meta packages
- 38:57Multiple library versions
- 40:25Widely used libraries
- 41:06Security tooling gaps
- 41:51Source code packaging rule
- 44:23Conclusion and involvement
- 44:44Q&A: Rust vs Python
- 47:14Q&A: Platform-specific deps
- 48:16Q&A: Compiler updates
- 50:25Q&A: Library versions
- 52:10Q&A: Release timelines
- 54:01Q&A: License review
related talks
47mIt's all in the delivery
32mBuilding and Maintaining Rust at Scale
31mImproving Your Rust Life
13mHow we ship Rust in OpenSUSE
34mLooking Back at Rust Usage for Guest Tools
16mCargo, or how to extend Rust tooling to infinity!
35mWhat it'll take to eradicate unintended breakage from Rust
25mUnlocking the full potential of Cargo extensions in Rust development
