libalpm_trans - Man Page

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:

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.

Referenced By

libalpm(3).

Fri Jul 22 2022 libalpm