Crates.io | deb-control |
lib.rs | deb-control |
version | 0.3.1 |
source | src |
created_at | 2021-04-11 09:43:54.565732 |
updated_at | 2021-04-25 04:59:30.700753 |
description | Crate for DEB/control file generation |
homepage | |
repository | |
max_upload_size | |
id | 381960 |
size | 23,864 |
Crate for DEB/control file generation in Rust
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(())
}