forked from Proxmox/proxmox
b89c56b96e
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
39 lines
1.4 KiB
ReStructuredText
39 lines
1.4 KiB
ReStructuredText
Local cargo config
|
|
==================
|
|
|
|
This repository ships with a ``.cargo/config`` that replaces the crates.io
|
|
registry with packaged crates located in ``/usr/share/cargo/registry``.
|
|
|
|
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
|
|
checksums are not compatible.
|
|
|
|
To reference new dependencies (or updated versions) that are not yet packaged,
|
|
the dependency needs to point directly to a path or git source.
|
|
|
|
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`.
|
|
|
|
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.
|