#rpm #fetch #librpm

sys rpm-pkg-count

使用 librpm 计算已安装的 RPM 包数量

3 个不稳定版本

0.2.1 2023 年 5 月 15 日
0.2.0 2023 年 5 月 14 日
0.1.0 2023 年 5 月 13 日

#643Unix APIs

Download history 175/week @ 2024-04-01 123/week @ 2024-04-08 91/week @ 2024-04-15 106/week @ 2024-04-22 158/week @ 2024-04-29 279/week @ 2024-05-06 260/week @ 2024-05-13 106/week @ 2024-05-20 231/week @ 2024-05-27 165/week @ 2024-06-03 136/week @ 2024-06-10 182/week @ 2024-06-17 187/week @ 2024-06-24 92/week @ 2024-07-01 136/week @ 2024-07-08 145/week @ 2024-07-15

每月 577 次下载
用于 5 个 crate (2 个直接使用)

GPL-3.0-only

18KB
127

rpm-pkg-count

使用 librpm 计算已安装的 RPM 包数量。

注意:此 crate 不使用 librpm-sys,而是直接链接到 C 库。

要求

为了编译此 crate,必须在系统上安装 librpm。它通常由包管理器提供,名称为 rpm-devel(例如,OpenSUSE),rpm-tools(例如,Arch Linux)或 librpm-dev(例如,Debian)。

使用方法

该 crate 提供了两个 cargo 功能,其中必须启用 一个

  1. 编译时:使用 Rust 的 extern "C" 功能在编译时链接到 librpm。这要求在每个目标系统的系统上安装 librpm,以便运行二进制文件。
  2. runtime:使用 libloading crate 在运行时链接到 librpm。这样,如果目标系统上未安装 librpm,则 count 简单地返回 None

然后,该 crate 提供了一个公共函数,该函数不接受任何参数并返回包计数作为 Option<u32>。以下是一个示例用法

use rpm_pkg_count::count;

match unsafe { count() } {
    Some(count) => println!("{count} packages installed."),
    None => println!("packages could not be counted"),
}

依赖关系

~0–5MB