feat: add rpm-read-rs
This commit is contained in:
1639
rpm-read-rs/Cargo.lock
generated
Normal file
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
10
rpm-read-rs/Cargo.toml
Normal 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
17
rpm-read-rs/src/main.rs
Normal 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);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user