use alpm::{Alpm, PackageReason, SigLevel};
fn main() {
let handle = Alpm::new("/", "tests/db").unwrap();
handle
.register_syncdb("core", SigLevel::USE_DEFAULT)
.unwrap();
handle
.register_syncdb("extra", SigLevel::USE_DEFAULT)
.unwrap();
handle
.register_syncdb("community", SigLevel::USE_DEFAULT)
.unwrap();
for db in handle.syncdbs() {
for pkg in db.search(["linux-[a-z]", "headers"].iter()).unwrap() {
println!("{} {}", pkg.name(), pkg.desc().unwrap_or("None"));
}
}
for db in handle.syncdbs() {
if let Ok(pkg) = db.pkg("pacman") {
println!("{} {}", pkg.name(), pkg.desc().unwrap_or("None"));
}
}
for db in handle.syncdbs() {
for pkg in db.pkgs() {
if pkg.reason() == PackageReason::Explicit {
println!("{} {}", pkg.name(), pkg.desc().unwrap_or("None"));
}
}
}
for db in handle.syncdbs() {
if let Ok(group) = db.group("base-devel") {
for pkg in group.packages() {
println!("{} {}", pkg.name(), pkg.desc().unwrap_or("None"));
}
}
}
let pkg = handle.syncdbs().find_satisfier("linux>3").unwrap();
println!("{} {}", pkg.name(), pkg.desc().unwrap_or("None"));
let pkg = handle
.pkg_load(
"tests/pacman-5.1.3-1-x86_64.pkg.tar.xz",
true,
SigLevel::USE_DEFAULT,
)
.unwrap();
println!("{} {}", pkg.name(), pkg.desc().unwrap_or("None"));
}