Go to file
Fabian Grünbichler a94de245f0 build: switch to debcargo
to autogenerate crate (build)-dependencies, and correct Provides
statements.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-15 12:02:47 +01:00
.cargo cargo: switch to use packaged crates by default 2020-01-03 09:39:52 +01:00
proxmox build: switch to debcargo 2020-01-15 12:02:47 +01:00
proxmox-api build: switch to debcargo 2020-01-15 12:02:47 +01:00
proxmox-api-macro build: switch to debcargo 2020-01-15 12:02:47 +01:00
proxmox-sortable-macro build: switch to debcargo 2020-01-15 12:02:47 +01:00
proxmox-sys build: switch to debcargo 2020-01-15 12:02:47 +01:00
proxmox-tools build: switch to debcargo 2020-01-15 12:02:47 +01:00
.gitignore import Cargo.lock 2019-08-09 08:44:48 +02:00
build.sh build: switch to debcargo 2020-01-15 12:02:47 +01:00
Cargo.toml build: switch to debcargo 2020-01-15 12:02:47 +01:00
Makefile build: switch to debcargo 2020-01-15 12:02:47 +01:00
README.rst cargo: switch to use packaged crates by default 2020-01-03 09:39:52 +01:00
rust-toolchain update toolchain to stable 2019-11-08 11:51:21 +01:00
rustfmt.toml initial import, starting with vec & io helpers 2019-06-06 14:00:25 +02:00

Versioning
==========

Note that the following applies *per crate*, since each crate is its own debian package:

The first commit after a release should bump the version to the next patch level with a ``-dev.1``
suffix for the crate *and for the proxmox crate*, as well as all crates depending on it. For
instance, ``proxmox-api`` depends on ``proxmox-tools``, so bumpgin ``proxmox-tools`` to a new `dev`
version also requires bumping ``proxmox-api`` to a new dev version, since cargo requires
pre-release versions to be selected explicitly:

    First commit after release: 0.1.0 -> 0.1.1-dev.1
    Version bump commit: 0.1.1-dev.1 -> 0.1.1

It is unlikely that we'll need more than one .dev version, but it may be useful at some point, so
we'll include teh ``.1``.

When releasing a crate, the final commit should be the one stripping the ``-dev`` version and
updating the ``debian/changelog``.

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.