feat: add rpm-read-rs

This commit is contained in:
2023-02-26 14:35:21 +08:00
parent 144667cb76
commit 6dca80b8c5
3 changed files with 1666 additions and 0 deletions

1639
rpm-read-rs/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

10
rpm-read-rs/Cargo.toml Normal file
View File

@@ -0,0 +1,10 @@
[package]
name = "rpm-read-rs"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rpm-rs = "0.8.1"
rust_util = "0.6.41"

17
rpm-read-rs/src/main.rs Normal file
View File

@@ -0,0 +1,17 @@
use std::fs::File;
use std::io::BufReader;
use rpm::RPMPackage;
use rust_util::{failure_and_exit, information, opt_result};
fn main() {
let args = std::env::args().skip(1).collect::<Vec<_>>();
if args.is_empty() {
failure_and_exit!("Args is empty");
}
let file = &args[0];
let rpm_file = opt_result!(File::open(file), "Open file: {} failed: {}", file);
let mut buf_reader = BufReader::new(rpm_file);
let pkg = opt_result!(RPMPackage::parse(&mut buf_reader), "Read rpm: {} failed: {}", file);
information!("Lead: {:?}", pkg.metadata.lead);
information!("Header: {:?}", pkg.metadata.header);
}