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
handle the context handle
pkg the package to add
Returns
0 on success, -1 on error (pm_errno is set accordingly)
References alpm_add_pkg().
Referenced by alpm_add_pkg().
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)
References alpm_remove_pkg().
Referenced by alpm_remove_pkg().
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)
References alpm_sync_sysupgrade().
Referenced by alpm_sync_sysupgrade().
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)
References alpm_trans_commit().
Referenced by alpm_trans_commit().
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
References alpm_trans_get_add().
Referenced by alpm_trans_get_add().
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
References alpm_trans_get_flags().
Referenced by alpm_trans_get_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
References alpm_trans_get_remove().
Referenced by alpm_trans_get_remove().
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)
References alpm_trans_init().
Referenced by alpm_trans_init().
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)
References alpm_trans_interrupt().
Referenced by alpm_trans_interrupt().
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)
References alpm_trans_prepare().
Referenced by alpm_trans_prepare().
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)
References alpm_trans_release().
Referenced by alpm_trans_release().
Author
Generated automatically by Doxygen for libalpm from the source code.