libalpm_trans(3)

NAME
libalpm_trans - Transaction

 - Functions to manipulate libalpm transactions.

SYNOPSIS

  Typedefs
typedef struct __alpm_trans_t alpm_trans_t
Transaction structure used internally by libalpm.

  Enumerations
enum alpm_transflag_t { ALPM_TRANS_FLAG_NODEPS = 1, ALPM_TRANS_FLAG_NOSAVE = (1 << 2), ALPM_TRANS_FLAG_NODEPVERSION = (1 << 3), ALPM_TRANS_FLAG_CASCADE = (1 << 4), ALPM_TRANS_FLAG_RECURSE = (1 << 5), ALPM_TRANS_FLAG_DBONLY = (1 << 6), ALPM_TRANS_FLAG_ALLDEPS = (1 << 8), ALPM_TRANS_FLAG_DOWNLOADONLY = (1 << 9), ALPM_TRANS_FLAG_NOSCRIPTLET = (1 << 10), ALPM_TRANS_FLAG_NOCONFLICTS = (1 << 11), ALPM_TRANS_FLAG_NEEDED = (1 << 13), ALPM_TRANS_FLAG_ALLEXPLICIT = (1 << 14), ALPM_TRANS_FLAG_UNNEEDED = (1 << 15), ALPM_TRANS_FLAG_RECURSEALL = (1 << 16), ALPM_TRANS_FLAG_NOLOCK = (1 << 17) }
Transaction flags.

  Functions
int alpm_trans_get_flags (alpm_handle_t *handle)
Returns the bitfield of flags for the current transaction.
alpm_list_t * alpm_trans_get_add (alpm_handle_t *handle)
Returns a list of packages added by the transaction.
alpm_list_t * alpm_trans_get_remove (alpm_handle_t *handle)
Returns the list of packages removed by the transaction.
int alpm_trans_init (alpm_handle_t *handle, int flags)
Initialize the transaction.
int alpm_trans_prepare (alpm_handle_t *handle, alpm_list_t **data)
Prepare a transaction.
int alpm_trans_commit (alpm_handle_t *handle, alpm_list_t **data)
Commit a transaction.
int alpm_trans_interrupt (alpm_handle_t *handle)
Interrupt a transaction.
int alpm_trans_release (alpm_handle_t *handle)
Release a transaction.

  Add/Remove packages
These functions remove/add packages to the transactions
int alpm_sync_sysupgrade (alpm_handle_t *handle, int enable_downgrade)
Search for packages to upgrade and add them to the transaction.
int alpm_add_pkg (alpm_handle_t *handle, alpm_pkg_t *pkg)
Add a package to the transaction.
int alpm_remove_pkg (alpm_handle_t *handle, alpm_pkg_t *pkg)
Add a package removal to the transaction.

Detailed Description

Functions to manipulate libalpm transactions. Transactions are the way to add/remove packages to/from the system. Only one transaction can exist at a time.

The basic workflow of a transaction is to:

•   Initialize with alpm_trans_init

•   Choose which packages to add with alpm_add_pkg and alpm_remove_pkg

•   Prepare the transaction with alpm_trans_prepare

•   Commit the transaction with alpm_trans_commit

•   Release the transaction with alpm_trans_release

A transaction can be released at any time. A transaction does not have to be committed.

Typedef Documentation

  typedef struct __alpm_trans_t alpm_trans_t

Transaction structure used internally by libalpm.

Enumeration Type Documentation

  enum alpm_transflag_t

Transaction flags.

Enumerator

ALPM_TRANS_FLAG_NODEPS
    Ignore dependency checks.

ALPM_TRANS_FLAG_NOSAVE
    Delete files even if they are tagged as backup.

ALPM_TRANS_FLAG_NODEPVERSION
    Ignore version numbers when checking dependencies.

ALPM_TRANS_FLAG_CASCADE
    Remove also any packages depending on a package being removed.

ALPM_TRANS_FLAG_RECURSE
    Remove packages and their unneeded deps (not explicitly installed).

ALPM_TRANS_FLAG_DBONLY
    Modify database but do not commit changes to the filesystem.

ALPM_TRANS_FLAG_ALLDEPS
    Use ALPM_PKG_REASON_DEPEND when installing packages.

ALPM_TRANS_FLAG_DOWNLOADONLY
    Only download packages and do not actually install.

ALPM_TRANS_FLAG_NOSCRIPTLET
    Do not execute install scriptlets after installing.

ALPM_TRANS_FLAG_NOCONFLICTS
    Ignore dependency conflicts.

ALPM_TRANS_FLAG_NEEDED
    Do not install a package if it is already installed and up to date.

ALPM_TRANS_FLAG_ALLEXPLICIT
    Use ALPM_PKG_REASON_EXPLICIT when installing packages.

ALPM_TRANS_FLAG_UNNEEDED
    Do not remove a package if it is needed by another one.

ALPM_TRANS_FLAG_RECURSEALL
    Remove also explicitly installed unneeded deps (use with ALPM_TRANS_FLAG_RECURSE).

ALPM_TRANS_FLAG_NOLOCK
    Do not lock the database during the operation.

Function Documentation

  int alpm_add_pkg (alpm_handle_t * handle, alpm_pkg_t * pkg)

Add a package to the transaction. If the package was loaded by alpm_pkg_load(), it will be freed upon alpm_trans_release invocation.

Parameters
    handle the context handle
    pkg the package to add

Returns
    0 on success, -1 on error (pm_errno is set accordingly)

  int alpm_remove_pkg (alpm_handle_t * handle, alpm_pkg_t * pkg)

Add a package removal to the transaction.

Parameters
    handle the context handle
    pkg the package to uninstall

Returns
    0 on success, -1 on error (pm_errno is set accordingly)

  int alpm_sync_sysupgrade (alpm_handle_t * handle, int enable_downgrade)

Search for packages to upgrade and add them to the transaction.

Parameters
    handle the context handle
    enable_downgrade allow downgrading of packages if the remote version is lower

Returns
    0 on success, -1 on error (pm_errno is set accordingly)

  int alpm_trans_commit (alpm_handle_t * handle, alpm_list_t ** data)

Commit a transaction.

Parameters
    handle the context handle
    data the address of an alpm_list where detailed description of an error can be dumped (i.e. list of conflicting files)

Returns
    0 on success, -1 on error (pm_errno is set accordingly)

  alpm_list_t * alpm_trans_get_add (alpm_handle_t * handle)

Returns a list of packages added by the transaction.

Parameters
    handle the context handle

Returns
    a list of alpm_pkg_t structures

  int alpm_trans_get_flags (alpm_handle_t * handle)

Returns the bitfield of flags for the current transaction.

Parameters
    handle the context handle

Returns
    the bitfield of transaction flags

  alpm_list_t * alpm_trans_get_remove (alpm_handle_t * handle)

Returns the list of packages removed by the transaction.

Parameters
    handle the context handle

Returns
    a list of alpm_pkg_t structures

  int alpm_trans_init (alpm_handle_t * handle, int flags)

Initialize the transaction.

Parameters
    handle the context handle
    flags flags of the transaction (like nodeps, etc; see alpm_transflag_t)

Returns
    0 on success, -1 on error (pm_errno is set accordingly)

  int alpm_trans_interrupt (alpm_handle_t * handle)

Interrupt a transaction.

Parameters
    handle the context handle

Returns
    0 on success, -1 on error (pm_errno is set accordingly)

  int alpm_trans_prepare (alpm_handle_t * handle, alpm_list_t ** data)

Prepare a transaction.

Parameters
    handle the context handle
    data the address of an alpm_list where a list of alpm_depmissing_t objects is dumped (conflicting packages)

Returns
    0 on success, -1 on error (pm_errno is set accordingly)

  int alpm_trans_release (alpm_handle_t * handle)

Release a transaction.

Parameters
    handle the context handle

Returns
    0 on success, -1 on error (pm_errno is set accordingly)

Author

Generated automatically by Doxygen for libalpm from the source code.