0.3.1 |
|
---|---|
0.3.0 |
|
0.2.0 |
|
#20 in #deb
22KB
416 lines
deb-control-rs
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
Dependencies
~1.5MB
~37K SLoC