doc: Update guidance about Rust package naming.

* doc/contributing.texi (Rust Crates): Explain versions suffix based on
  packages version and Crate "caret" versioning.
This commit is contained in:
Hartmut Goebel 2020-04-30 22:53:47 +02:00
parent 42008264d9
commit 784048c27b
No known key found for this signature in database
GPG Key ID: 634A8DFFD3F631DF

View File

@ -802,10 +802,10 @@ To prevent namespace collisions we prefix all other Rust packages with the
dashes should remain in place. dashes should remain in place.
In the rust ecosystem it is common for multiple incompatible versions of a In the rust ecosystem it is common for multiple incompatible versions of a
package to be used at any given time, so all packages should have a versioned package to be used at any given time, so all package definitions should have a
suffix. If a package has passed version 1.0.0 then just the major version versioned suffix. The versioned suffix is the left-most non-zero digit (and
number is sufficient (e.g.@: @code{rust-clap-2}), otherwise the version suffix any leading zeros, of course). This follows the ``caret'' version scheme
should contain both the major and minor version (e.g.@: @code{rust-rand-0.6}). intended by Cargo. Examples@: @code{rust-clap-2}, @code{rust-rand-0.6}.
Because of the difficulty in reusing rust packages as pre-compiled inputs for Because of the difficulty in reusing rust packages as pre-compiled inputs for
other packages the Cargo build system (@pxref{Build Systems, other packages the Cargo build system (@pxref{Build Systems,