LINTIAN

# `empty-rust-library-declares-provides`

For some time, Rust libraries used empty installation packages with long Provides lines in their control files to deal with peculiarities in Rust packaging. It is no longer considered acceptable because it strains our archive infrastructure.

Rust packages should not be empty and merely declare a Provides control field. Instead, please merge such packages into the main installation package. When using `debcargo`, this can usually be achieved by adding `collapse_features = true` to the `debcargo.toml` file.

You can see some examples here:

- https://sources.debian.org/src/rust-dbus/0.9.0-2/debian/control/
- https://sources.debian.org/src/rust-x11rb/0.7.0-1/debian/control/

The decision to burden the Rust packaging team with that extra step was made after weighing all possible alternatives.

Severity: | `error`
Experimental: | `false`

## See also

- Bug#942898

- Bug#945542

- http://meetbot.debian.net/debian-rust/2020/debian-rust.2020-10-28-18.58.log.html#l-150

- list of all the affected packages
- the source of this tag