Manpages - libalpm_trans.3

Table of Contents

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.

Author: dt

Created: 2022-02-20 Sun 17:39