Compare commits
No commits in common. "a7f2a4ead06cc5001e0870b14bf048e2d3c6ecd4" and "e5b9f185c591aba8244075c6e31e5a85c41c0bca" have entirely different histories.
a7f2a4ead0
...
e5b9f185c5
|
@ -16,4 +16,3 @@ updateinfo-xmlparser = { git = "https://git.zhgsun.com:8089/jiachao2130/updatein
|
|||
cvrf-xmlparser = { git = "https://git.zhgsun.com:8089/jiachao2130/cvrf-xmlparser.git", version = "0.1.0" }
|
||||
rpm-rs = { git = "https://git.zhgsun.com:8089/jiachao2130/rpm-rs.git", version = "0.1.0" }
|
||||
lazy_static = { version = "1.5" }
|
||||
ccutils = { git = "https://git.zhgsun.com:8089/jiachao2130/ccutils.git", version = "0.1.0" }
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
use std::collections::{HashMap, HashSet};
|
||||
use std::process::Command;
|
||||
use std::str::FromStr;
|
||||
|
||||
use ccutils::cmd::IsOk;
|
||||
use cvrf_xmlparser::{Severity, CUSA};
|
||||
use lazy_static::lazy_static;
|
||||
use rpm_rs::rpm::{get_installed_packages, Package};
|
||||
|
@ -340,16 +338,6 @@ fn summary(cli: &Cli) -> crate::Result<()> {
|
|||
}
|
||||
|
||||
fn _dnf_summary(_cli: &Cli) -> crate::Result<()> {
|
||||
let cmd = Command::new("dnf")
|
||||
.arg("updateinfo")
|
||||
.output()
|
||||
.expect("执行 `dnf udpateinfo` 命令失败");
|
||||
|
||||
match cmd.result() {
|
||||
Ok(res) => println!("{res}"),
|
||||
Err(err) => eprintln!("{err}"),
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
@ -406,7 +394,6 @@ fn _reporter() -> crate::Result<Reporter> {
|
|||
}
|
||||
|
||||
// 对比两个 rpm Package 的版本,返回最新的一个
|
||||
// TODO: 使用 RpmInfo 作为对比对象
|
||||
fn rpmdb_package_vercmp(pa: Package, pb: Package) -> Package {
|
||||
// 首先进行 epoch 的比较
|
||||
match (pa.epoch(), pb.epoch()) {
|
||||
|
@ -421,23 +408,3 @@ fn rpmdb_package_vercmp(pa: Package, pb: Package) -> Package {
|
|||
return pb;
|
||||
}
|
||||
}
|
||||
|
||||
// 将 RPMDB 里的 Package 转换为 RpmInfo,方便统一进行版本对比和处理。
|
||||
fn package2rpminfo(pkg: Package) -> RpmInfo {
|
||||
let mut rpminfo = RpmInfo::new();
|
||||
|
||||
// 目前只需要将 name/epoch/version/release/arch 几项填充即可
|
||||
rpminfo.set("name", pkg.name().to_string());
|
||||
// Option<i32> => String
|
||||
if let Some(epoch) = pkg.epoch() {
|
||||
rpminfo.set("epoch", epoch.to_string());
|
||||
}
|
||||
rpminfo.set("version", pkg.version().to_string());
|
||||
rpminfo.set("release", pkg.release().to_string());
|
||||
// Option<&str> => String
|
||||
if let Some(arch) = pkg.arch() {
|
||||
rpminfo.set("arch", arch.to_string());
|
||||
}
|
||||
|
||||
rpminfo
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user