Debian's Controversial Approach to Rust Dependency Handling

2024-12-26

Debian's integration of Rust has been a long-standing effort, but its dependency handling approach has become a point of contention. Author Ian Jackson argues that faithfully following Rust's Semantic Versioning (semver) in Debian package dependencies is impractical. Fundamental differences exist between Debian's and Rust's dependency management semantics, leading to significant manual work when directly translating Rust's version dependencies. Jackson proposes a radical solution: Debian shouldn't precisely follow upstream Rust semver dependency information, but instead optimistically try various package combinations, letting automated QA discover and fix breakages. This approach, while violating semver, is argued to be mitigated by the Rust community's emphasis on API safety and change notifications, along with Debian's QA mechanisms. The proposal aims to improve the update efficiency of Debian Rust packages, but it might also lead to some dependency combinations failing.

Development