rpm-pkg-count 0.2.1

Counts installed RPM packages using librpm
Documentation
# rpm-pkg-count

Counts installed RPM packages using `librpm`.

> Note: This crate does **not** make use of `librpm-sys` but links to the C
> library itself.

## Requirements

In order to compile this crate, one must have `librpm` installed on the system.
It is usually provided by package managers under the name `rpm-devel` (e.g.,
OpenSUSE), `rpm-tools` (e.g., Arch Linux) or `librpm-dev` (e.g., Debian).

## Usage

The crate provides two cargo features, exactly **one** of them must be enabled.

1. `compile-time`: Link to librpm during compile-time using Rust's `extern "C"`
   functionality. This requires librpm to be installed on every target's system
   for a binary to run at all.
2. `runtime`: Link to librpm during runtime using the
   [`libloading` crate]https://crates.io/crates/libloading. This way,
   `count()` simply returns `None` if librpm is not installed on the target
   system.

The crate then exposes exactly _one_ public function which takes no arguments
and returns the package count as an `Option<u32>`. An example usage is shown
here:

```rs
use rpm_pkg_count::count;

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