Crate libalpm [] [src]

A library to access the functionality of libalpm (the library used by pacman).

Getting started

The main struct here is Alpm. It is responsible for wrapping an alpm database and filesystem, and providing functionality for thtat alpm instance. For example...

use libalpm::Alpm;
use libalpm::util;

// get the architecture (e.g. x86_64).
let arch = util::uname().machine().to_owned();

let alpm = Alpm::new("/", "/var/lib/pacman"); // default locations on arch linux
alpm

Modules

util

Some helper functions not directly related to the API

Structs

Alpm

A handle on an alpm instance

Backup

A backup

Caps

This version of libalpm's capabilities

Db

A database of packages. This is only ever available as a reference

Dependency

A package's dependency

File

A file in a package

FileList

A list of files in a package

Group

A group of related pacakges in a database

LogLevels

The possible log-levels

Options

The options that can be set in the pacman conf file.

Package

An owning version of Package

PackageVersion

A package version

RepoOptions

Options for a repository.

SigLevel

PGP signature verification options

Transaction

A transaction of package operations

TransactionFlags
ValidationMethod

The methods used to validate a package when it was downloaded.

Enums

DownloadResult

The result of a download

Error

An enum of possible errors in libalpm

Event

An event emitted from libalpm

LogLevel

The highest log level marked true

PackageFrom

Where a package came from

PackageRef

A package in libalpm that can only be held by reference.

Reason

Why a package was installed, either because it was explicitally requested, or required as a dependency.

Validation

Whether validation was performed.

VersionConstraintType

Types of version constraint to be applied to a package's dependency.

Functions

capabilities

Get the capabilities of the attached libalpm

version

Get the version of the attached libalpm

Type Definitions

AlpmResult

The ubiquitous crate result type.