For information about the cargo xtask workflow pattern see: <https://github.com/matklad/cargo-xtask>
This commit adds an xtask crate with only one task, "mangen", which
generates a ROFF manual page under `target/dist/man` directory for the
vhost-device-sound binary.
The xtask crate can be configured using cargo features, to help
packagers configure what manpages are generated.
This generates a manpage in target/dist/man/vhost-device-sound.1
The rendered ROFF output looks like:
vhost-device-sound(1) General Commands Manual vhost-device-sound(1)
NAME
vhost-device-sound - A virtio-sound device using the vhost-user protocol.
SYNOPSIS
vhost-device-sound <--socket> <--backend> [-h|--help] [-V|--version]
DESCRIPTION
A virtio-sound device using the vhost-user protocol.
OPTIONS
--socket=SOCKET
vhost-user Unix domain socket path
--backend=BACKEND
audio backend to be used
[possible values: null, pipewire, alsa]
-h, --help
Print help
-V, --version
Print version
VERSION
v0.2.0
REPORTING BUGS
Report bugs to the project's issue tracker: https://github.com/rust-vmm/vhost-device
vhost-device-sound 0.2.0 vhost-device-sound(1)
Fixes#687 ("Add man page for vhost-device-sound")
Resolves: https://github.com/rust-vmm/vhost-device/issues/687
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
cargo recently complains about our cargo configuration file name:
$ cargo build
warning: `vhost/.cargo/config` is deprecated in favor of
`config.toml`
note: if you need to support cargo 1.38 or earlier, you can
symlink `config` to `config.toml`
As suggested, let's update the file name. We don't create the symlink
since 2021 edition is not supported by 1.38 toolchain:
$ cargo +1.38.0 build
error: failed to parse manifest at ...
Caused by:
failed to parse the `edition` key
Caused by:
supported edition values are `2015` or `2018`, but `2021` is unknown
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>