libalpm_trans(3) Library Functions Manual libalpm_trans(3)

libalpm_trans - Transaction


typedef struct __alpm_trans_t alpm_trans_t
Transaction structure used internally by libalpm.


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.


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.

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.

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.

Transaction structure used internally by libalpm.

Transaction flags.

Enumerator

Ignore dependency checks.
Delete files even if they are tagged as backup.
Ignore version numbers when checking dependencies.
Remove also any packages depending on a package being removed.
Remove packages and their unneeded deps (not explicitly installed).
Modify database but do not commit changes to the filesystem.
Use ALPM_PKG_REASON_DEPEND when installing packages.
Only download packages and do not actually install.
Do not execute install scriptlets after installing.
Ignore dependency conflicts.
Do not install a package if it is already installed and up to date.
Use ALPM_PKG_REASON_EXPLICIT when installing packages.
Do not remove a package if it is needed by another one.
Remove also explicitly installed unneeded deps (use with ALPM_TRANS_FLAG_RECURSE).
Do not lock the database during the operation.

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)

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)

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)

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

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

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)

Interrupt a transaction.

Parameters

handle the context handle

Returns

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

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)

Release a transaction.

Parameters

handle the context handle

Returns

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

Generated automatically by Doxygen for libalpm from the source code.

Tue Feb 6 2024 19:11:31 libalpm