• This repository has been archived on 21/Jul/2022
  • Stars
    star
    154
  • Rank 242,095 (Top 5 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Cargo subcommand for building .rpm releases of Rust projects

🚨 UNMAINTAINED! 🚨

This crate is no longer maintained. For more information, please see the maintenance status issue.

We recommend either of the following as alternatives:

cargo-rpm

Crate Build Status Safety Dance MSRV Apache 2.0 Licensed Gitter Chat

cargo subcommand for building .rpm releases of Rust projects.

Requirements

  • Rust 1.41+

Installation

Install cargo rpm by running: cargo install cargo-rpm.

Configuring a crate

To configure your crate for RPM releases, run cargo rpm init

This will create a .rpm/YOURCRATENAME.spec file which is passed to the rpmbuild command. Though the generated spec should work out of the box, it may need some customization if the resulting RPM has dependencies or files other than target binaries.

You can also specify the --output argument to save the .spec file into a different directory. However, you will then also need to add config entry in the [package.metadata.rpm] section of the Cargo.toml file pointing to that directory, or run build command with --config argument.

For more information on spec files, see: http://ftp.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html

Building RPMs

Once your crate has been configured, run cargo rpm build to build release targets for your project and package them into an RPM.

If you encounter errors, you may need to see more information about why rpmbuild failed. Run cargo rpm build -v to enable verbose mode.

Finished .rpm files will be placed in target/release/rpmbuild/RPMs/<arch>.

You can also specify the --output argument (or add the output entry in Cargo.lock) to change the location of .rpm file. It can either be a file or a directory:

  • If the arg value ends in a / (or if it is already an existent directory), the value is treated as a directory path and rpm is created inside it with the default naming scheme (<name>-<version>-<release>.<arch>.rpm).
  • For other arg values, the value is treated as a file path (the default naming scheme won't be followed in this case).
  • Both relative and absolute paths work as input (relative paths will be normalized to be absolute when passing over to rpmbuild).
  • Parent directories in the path are auto-created, if not present (this is handled by rpmbuild).

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

More Repositories

1

abscissa

Application microframework with command-line option parsing, configuration, error handling, logging, and shell interactions
Rust
569
star
2

crates

A collection of open source Rust crates from iqlusion
Rust
444
star
3

sear

Signed/Encrypted ARchive: always-encrypted tar-like archive tool with optional signature support
Rust
354
star
4

tmkms

Tendermint KMS: Key Management System for Tendermint Validators
Rust
331
star
5

yubikey.rs

Pure Rust YubiKey host-side driver for PIV-based RSA/ECC key storage + signing/encryption support
Rust
218
star
6

veriform

Security-oriented protobuf-like serialization format with "Merkleized" content hashing support
Rust
116
star
7

armistice

Hardware private key storage for next-generation cryptography (e.g. BLS) supporting USB armory MkII devices
Rust
110
star
8

synchronicity

Distributed build system providing cryptographic proofs-of-reproducibility via Byzantine Fault Tolerant (BFT) consensus
Rust
92
star
9

liquidity-staking-module

Go
87
star
10

yubihsm.rs

Pure Rust client for YubiHSM2 devices
Rust
64
star
11

usbarmory.rs

Bare metal Rust support for USB armory MkII devices
Rust
58
star
12

keychain-services.rs

Rust access to macOS Keychain Services (experimental)
Rust
57
star
13

cosmon

Sagan is an observability tool for Cosmos and other Tendermint applications
Rust
37
star
14

canister

Deploy self-contained binaries from GCP Container Registry (gcr.io) as systemd service units
Rust
29
star
15

iqkms

Cryptographic key management service providing a gRPC API and support for a variety of key storage methods including YubiHSM2 devices
Rust
15
star
16

delphi

Oracle feeder service (presently supporting Terra)
Rust
14
star
17

LiquidStakingWG

Working group for a standard liquid staking module for Cosmos Chain
HTML
14
star
18

ethereum_hsm_signer

HSM signer via GRPC interface for eth sigs
Rust
5
star
19

0L-iqlusion-engineering-fund

0L Blockchain Engineering fund
2
star
20

iap_proxy

A client side proxy that wraps an http request with Google Identity Aware Proxy
Go
2
star
21

research

Iqlusion Inc research collaboration repo
1
star
22

0l-iqlusion-fulltime-engineering

1
star
23

observatory

CometBFT node monitoring
Rust
1
star