2020-01-03 11:39:52 +03:00
Local cargo config
==================
2020-01-02 16:07:12 +03:00
2020-01-03 11:39:52 +03:00
This repository ships with a `` .cargo/config `` that replaces the crates.io
registry with packaged crates located in `` /usr/share/cargo/registry `` .
2020-01-02 16:07:12 +03:00
2020-01-03 11:39:52 +03:00
A similar config is also applied building with dh_cargo. Cargo.lock needs to be
deleted when switching between packaged crates and crates.io, since the
2020-01-02 16:07:12 +03:00
checksums are not compatible.
2020-01-03 11:39:52 +03:00
To reference new dependencies (or updated versions) that are not yet packaged,
the dependency needs to point directly to a path or git source.
2020-01-15 16:26:06 +03:00
Steps for Releases
==================
- Cargo.toml updates:
- Bump all modified crate versions.
- Update all the other crates' Cargo.toml to depend on the new versions if
required, then bump their version as well if not already done.
- Update debian/changelog files in all the crates updated above.
- Build packages with `make deb` .
2021-10-05 11:23:58 +03:00
Adding Crates
=============
1) At the top level:
- Generate the crate: `` cargo new --lib the-name ``
- Sort the crate into `` Cargo.toml `` 's `` workspace.members ``
- Sort the crate into the `` Makefile `` 's `` CRATES `` list.
2) In the new crate's `` Cargo.toml `` :
- Replace the `` author `` line with
`` authors = ["Proxmox Support Team <support@proxmox.com>"] ``
- Add `` license = "AGPL-3" ``
- Add `` exclude = [ "debian" ] ``
- Add a meaningful `` description ``
- Copy `` debian/copyright `` and `` debian/debcargo.toml `` from another subcrate.