|
| 1 | +# alpm.rs - rust bindings for libalpm |
| 2 | + |
| 3 | +[](https://crates.io/crates/alpm) |
| 4 | +[](https://docs.rs/alpm) |
| 5 | + |
| 6 | +alpm.rs provides complete, safe, ergonomic bindings to the libalpm API, |
| 7 | +the package management library used by pacman and other tools. |
| 8 | + |
| 9 | +# Features |
| 10 | + |
| 11 | +- mtree - enables the alpm_pkg_mtree_* functions |
| 12 | +- generate - generate the raw alpm-sys bindings at build time |
| 13 | +- checkver - check that the version of libalpm installed is compatible with alpm.rs |
| 14 | +- git - target the git master API |
| 15 | +- static - statically link to libalpm |
| 16 | + |
| 17 | + |
| 18 | +**Note:** checkver does not work with the git feature. You can instead use |
| 19 | +the generate feature to ensure alpm.rs builds against a compatible libalpm version. |
| 20 | + |
| 21 | +# libalpm compatibility |
| 22 | + |
| 23 | +alpm.rs always targets the latest version of libalpm. It may also support |
| 24 | +previous versions if the API was not changed. |
| 25 | + |
| 26 | +alpm.rs also supports the pacman git master via the git feature. |
| 27 | + |
| 28 | +Currently alpm.rs supports libalpm v13.x.x. |
| 29 | + |
| 30 | +**Note:** When using the git feature, alpm.rs is updated against the libalpm git master |
| 31 | +as commits happen. As the git version is not considered stable software, this is done |
| 32 | +without bumping the major version. |
| 33 | + |
| 34 | +# Documentation |
| 35 | + |
| 36 | +This crate just provides bindings for libalpm and hence does not document libalpm. |
| 37 | +You can find documentation for libalpm in the [libalpm (3)](https://man.archlinux.org/man/core/pacman/libalpm.3.en) man page or in [alpm.h](https://gitlab.archlinux.org/pacman/pacman/-/blob/master/lib/libalpm/alpm.h). |
| 38 | + |
| 39 | +There are also examples on how to use the alpm crate in [alpm/examples](alpm/examples). |
| 40 | + |
| 41 | +# alpm-sys |
| 42 | + |
| 43 | +This repo also contains the alpm-sys crate, providing raw bindings for libalpm. |
| 44 | +Although you probably just want to use the alpm crate instead. |
0 commit comments