#rpm #packages #cargo #generate #target #configuration

app cargo-make-rpm

A tool to generate rpm package from a rust project

3 stable releases

1.0.2 Oct 24, 2024
1.0.1 Apr 11, 2023

#115 in Cargo plugins

Download history 8/week @ 2024-09-23 2/week @ 2024-10-14 176/week @ 2024-10-21 4/week @ 2024-10-28 15/week @ 2024-11-04

197 downloads per month

MIT license

18KB
303 lines

cargo-make-rpm

A tool to generate rpm packages from a rust project

Usage

cargo make-rpm [--options] [--] [cargo options]

the packages will be written at the target/rpm or target/[triplet]/rpm directory dependending if the --target flag is used

Arguments

    --compression <COMPRESSION>    Compression algorithm to use [possible values: none, gzip, zstd]
-p, --package <PACKAGE_NAME>  Workspace member name to build
    --target <TARGET>              Target triple to build for
-k, --signing-key <SIGNING_KEY>    Signing key to use
-h, --help                         Print help
-V, --version                      Print version

Configuration

Some options can be configured in Cargo.toml using the [package.metadata.rpm] field

[package.metadata.rpm]
assets = [
    ["README.md", "/usr/share/doc/README.md", "644"]
]
compression = "none"

Options

  • compression: specify the compression (possible values: gzip, zstd, none)
  • signing_key: path to the gpg private key
  • dependencies: list of depedencies of the rpm
  • conflicts: list of packages this package conflicts with
  • assets: list of additional assets with the format [filepath, installation_path, permissions]
  • preinstall: a command to run before installation
  • postinstall: a command to run after installation
  • preuninstall: a command to run before removal
  • postinstall: a command to run after removal

Dependencies

~14MB
~260K SLoC