Skip to content

Commit f0fcca8

Browse files
authored
Merge pull request #977 from HuijingHei/fix-version-compare
package: move to compare `version` instead of `timestamp`
2 parents 6afa37c + fdb91fe commit f0fcca8

File tree

5 files changed

+400
-38
lines changed

5 files changed

+400
-38
lines changed

Cargo.lock

Lines changed: 203 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ openat-ext = ">= 0.2.2, < 0.3.0"
4141
openssl = "^0.10"
4242
os-release = "0.1.0"
4343
regex = "1.11.1"
44+
rpm = { version = "0.16.1", default-features = false }
4445
rustix = { version = "1.0.8", features = ["process", "fs"] }
4546
serde = { version = "^1.0", features = ["derive"] }
4647
serde_json = "^1.0"

src/bootupd.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,11 @@ pub(crate) fn update(name: &str, rootcxt: &RootContext) -> Result<ComponentUpdat
232232
let sysroot = &rootcxt.sysroot;
233233
let update = component.query_update(sysroot)?;
234234
let update = match update.as_ref() {
235-
Some(p) if inst.meta.can_upgrade_to(p) => p,
236-
_ => return Ok(ComponentUpdateResult::AtLatestVersion),
235+
Some(p) => match inst.meta.can_upgrade_to(p) {
236+
std::cmp::Ordering::Less => p, // current < available -> upgrade
237+
_ => return Ok(ComponentUpdateResult::AtLatestVersion),
238+
},
239+
None => return Ok(ComponentUpdateResult::AtLatestVersion),
237240
};
238241

239242
ensure_writable_boot()?;

0 commit comments

Comments
 (0)