deb-control

Crates.iodeb-control
lib.rsdeb-control
version0.3.1
sourcesrc
created_at2021-04-11 09:43:54.565732
updated_at2021-04-25 04:59:30.700753
descriptionCrate for DEB/control file generation
homepage
repository
max_upload_size
id381960
size23,864
Wojciech Kępka (vv9k)

documentation

README

deb-control-rs

GitHub Actions MIT licensed Released API docs

Crate for DEB/control file generation in Rust

Usage

This crate provides a simple builder interface for DEB/control files generation. There are two types of builders: binary and source. To access them use the associated functions on DebControlBuilder, for example:

use deb_control::DebControlBuilder;

DebControlBuilder::binary_package_builder();
// or
DebControlBuilder::source_package_builder();

Here's an example of building a binary DEB/control from scratch:

use deb_control::DebControlBuilder;

fn main() -> Result<(), std::boxed::Box<dyn std::error::Error + 'static + Sync + Send>> {
    let control = DebControlBuilder::binary_package_builder("debcontrol")
        .source("package.tar.gz")
        .version("1")
        .architecture("any")
        .maintainer("Wojciech Kępka <wojciech@wkepka.dev>")
        .description("crate for DEB/control file generation")
        .essential(true)
        .section("devel")
        .homepage("https://github.com/wojciechkepka/debcontrol")
        .built_using("rustc")
        .add_pre_depends_entries(vec!["rustc", "cargo"])
        .add_depends_entries(vec!["rustc", "cargo"])
        .add_conflicts_entries(vec!["rustc", "cargo"])
        .add_provides_entries(vec!["rustc", "cargo"])
        .add_replaces_entries(vec!["rustc", "cargo"])
        .add_enchances_entries(vec!["rustc", "cargo"])
        .add_provides_entries(vec!["debcontrol"])
        .build();

    // you can later render it to a string like so:
    let _rendered = control.render()?;

    // or save it directly to a file
    control.save_to("/tmp/CONTROL")?;

    Ok(())
}

License

MIT

Commit count: 0

cargo fmt