Skip to main content

compare_versions

Function compare_versions 

Source
pub fn compare_versions(a: &str, b: &str) -> Ordering
Expand description

What: Compare two Arch package versions including epoch, pkgver, and pkgrel.

Inputs:

  • a: Left-hand package version.
  • b: Right-hand package version.

Output:

  • Returns Ordering::Less, Ordering::Equal, or Ordering::Greater.

Details:

  • Numeric epoch takes precedence, followed by pkgver. Numeric pkgrel is compared only when both operands declare one, matching libalpm/pacman dependency semantics.

ยงExample

use arch_toolkit::deps::compare_versions;
use std::cmp::Ordering;

assert_eq!(compare_versions("1:1.2.3-2", "1:1.2.3-1"), Ordering::Greater);
assert_eq!(compare_versions("2:1.0-1", "1:99.0-9"), Ordering::Greater);