1 stable release
1.0.0 | Jul 16, 2024 |
---|
#410 in Unix APIs
12KB
162 lines
debarchive
This Rust crate provides direct access to files within a Debian archive. This crate is used by
our debrep utility to generate the Packages
and
Contents
files for generated apt repositories.
Features
- Reading files from archives
- Extracting files from archives
- Writing new debian archives
Examples
extern crate debarchive;
use debarchive::Archive;
use std::path::Path;
fn main() {
let path = &Path::new("name_version_arch.deb");
let archive = Archive::new(path).unwrap();
archive.data(|entry| {
if let Ok(path) = entry.path() {
println!("data: {}", path.display());
}
});
let control_map = archive.control_map().unwrap();
println!("Control: {:#?}", control_map);
}
lib.rs
:
This crate provides direct access to files within a Debian archive.
Features
- Reading files from archives
- Extracting files from archives
- Writing new debian archives
Examples
extern crate debarchive;
use debarchive::Archive;
use std::path::Path;
fn main() {
let path = &Path::new("name_version_arch.deb");
let archive = Archive::new(path).unwrap();
archive.data(|entry| {
if let Ok(path) = entry.path() {
println!("data: {}", path.display());
}
});
let control_map = archive.control_map().unwrap();
println!("Control: {:#?}", control_map);
}
Dependencies
~9–18MB
~243K SLoC