From 4fb2bfe23fada1ef54bcb9f0f5296f639b147c01 Mon Sep 17 00:00:00 2001 From: Fabio Valentini Date: Apr 27 2023 16:21:30 +0000 Subject: Rust: rust-packaging was renamed to cargo-rpm-macros --- diff --git a/guidelines/modules/ROOT/pages/Rust.adoc b/guidelines/modules/ROOT/pages/Rust.adoc index 9672a4a..db66eff 100644 --- a/guidelines/modules/ROOT/pages/Rust.adoc +++ b/guidelines/modules/ROOT/pages/Rust.adoc @@ -100,7 +100,17 @@ but the packager SHOULD query upstream to include those missing files in their p == Package Dependencies -All Rust packages MUST have `+BuildRequires: rust-packaging+`. +All Rust packages MUST include `+BuildRequires: rust-packaging >= 21+`. + +However, if the package is for a Rust crate +whose `+Cargo.toml+` metadata uses syntax for feature dependencies +which was added with Rust 1.60, +i.e. *namespaced dependencies* (`+"dep:foo"+`) +or *weak dependency features* (`+"foo/bar"+`), +it MUST include `+BuildRequires: cargo-rpm-macros >= 24+` instead, +since support for this syntax was only added +as part of a complete rewrite of `+rust-packaging+` +that was shipped as `+cargo-rpm-macros+` version 24. === Bundled Dependencies @@ -126,7 +136,8 @@ every time the package or its bundled dependencies are updated. === Automatic Dependency Generation -`rust-packaging` automatically creates Requires and Provides +The RPM packaging machinery for Rust crates +automatically generates Requires and Provides based on cargo metadata in `+%{cargo_registry}/*/Cargo.toml+` files. The Provides generator creates: