libalpm_trans(3) | Library Functions Manual | libalpm_trans(3) |
NAME
libalpm_trans - Transaction
- Functions to manipulate libalpm transactions
SYNOPSIS
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_NOHOOKS = (1 << 7),
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.
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_NOHOOKS
- Do not run hooks during a transaction.
- 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
pkg the package to add
Returns
int alpm_remove_pkg (alpm_handle_t * handle, alpm_pkg_t * pkg)
Add a package removal to the transaction.
Parameters
pkg the package to uninstall
Returns
int alpm_sync_sysupgrade (alpm_handle_t * handle, int enable_downgrade)
Search for packages to upgrade and add them to the transaction.
Parameters
enable_downgrade allow downgrading of packages if the remote version is lower
Returns
int alpm_trans_commit (alpm_handle_t * handle, alpm_list_t ** data)
Commit a transaction.
Parameters
data the address of an alpm_list where detailed description of an error can be dumped (i.e. list of conflicting files)
Returns
alpm_list_t * alpm_trans_get_add (alpm_handle_t * handle)
Returns a list of packages added by the transaction.
Parameters
Returns
int alpm_trans_get_flags (alpm_handle_t * handle)
Returns the bitfield of flags for the current transaction.
Parameters
Returns
alpm_list_t * alpm_trans_get_remove (alpm_handle_t * handle)
Returns the list of packages removed by the transaction.
Parameters
Returns
int alpm_trans_init (alpm_handle_t * handle, int flags)
Initialize the transaction.
Parameters
flags flags of the transaction (like nodeps, etc; see alpm_transflag_t)
Returns
int alpm_trans_interrupt (alpm_handle_t * handle)
Interrupt a transaction.
Parameters
Returns
int alpm_trans_prepare (alpm_handle_t * handle, alpm_list_t ** data)
Prepare a transaction.
Parameters
data the address of an alpm_list where a list of alpm_depmissing_t objects is dumped (conflicting packages)
Returns
int alpm_trans_release (alpm_handle_t * handle)
Release a transaction.
Parameters
Returns
Author
Generated automatically by Doxygen for libalpm from the source code.
libalpm |