libalpm
Arch Linux Package Manager Library
|
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <limits.h>
#include <unistd.h>
#include <sys/stat.h>
#include "remove.h"
#include "alpm_list.h"
#include "alpm.h"
#include "trans.h"
#include "util.h"
#include "log.h"
#include "backup.h"
#include "package.h"
#include "db.h"
#include "deps.h"
#include "handle.h"
#include "conflict.h"
Go to the source code of this file.
Functions | |
int | alpm_remove_pkg (alpm_handle_t *handle, alpm_pkg_t *pkg) |
Add a package removal action to the transaction. | |
int | _alpm_remove_prepare (alpm_handle_t *handle, alpm_list_t **data) |
Transaction preparation for remove actions. | |
int | _alpm_remove_single_package (alpm_handle_t *handle, alpm_pkg_t *oldpkg, alpm_pkg_t *newpkg, size_t targ_count, size_t pkg_count) |
int | _alpm_remove_packages (alpm_handle_t *handle, int run_ldconfig) |
int _alpm_remove_packages | ( | alpm_handle_t * | handle, |
int | run_ldconfig | ||
) |
Definition at line 494 of file lib/libalpm/remove.c.
References _alpm_ldconfig(), _alpm_remove_single_package(), ALPM_ERR_TRANS_ABORT, alpm_list_count(), __alpm_list_t::data, __alpm_list_t::next, __alpm_handle_t::pm_errno, __alpm_trans_t::remove, __alpm_trans_t::state, STATE_INTERRUPTED, and __alpm_handle_t::trans.
Referenced by _alpm_sync_commit(), and alpm_trans_commit().
int _alpm_remove_prepare | ( | alpm_handle_t * | handle, |
alpm_list_t ** | data | ||
) |
Transaction preparation for remove actions.
This functions takes a pointer to a alpm_list_t which will be filled with a list of alpm_depmissing_t* objects representing the packages blocking the transaction.
handle | the context handle |
data | a pointer to an alpm_list_t* to fill |
Definition at line 146 of file lib/libalpm/remove.c.
References _alpm_db_get_pkgcache(), _alpm_depmiss_free(), _alpm_log(), _alpm_recursedeps(), _alpm_sortbydeps(), alpm_checkdeps(), ALPM_ERR_UNSATISFIED_DEPS, ALPM_EVENT_CHECKDEPS_DONE, ALPM_EVENT_CHECKDEPS_START, alpm_list_free(), alpm_list_free_inner(), ALPM_LOG_DEBUG, ALPM_TRANS_FLAG_CASCADE, ALPM_TRANS_FLAG_NODEPS, ALPM_TRANS_FLAG_RECURSE, ALPM_TRANS_FLAG_RECURSEALL, ALPM_TRANS_FLAG_UNNEEDED, __alpm_handle_t::db_local, EVENT, __alpm_trans_t::flags, __alpm_trans_t::remove, RET_ERR, and __alpm_handle_t::trans.
Referenced by alpm_trans_prepare().
int _alpm_remove_single_package | ( | alpm_handle_t * | handle, |
alpm_pkg_t * | oldpkg, | ||
alpm_pkg_t * | newpkg, | ||
size_t | targ_count, | ||
size_t | pkg_count | ||
) |
Definition at line 436 of file lib/libalpm/remove.c.
References _, _alpm_db_remove_pkgfromcache(), _alpm_local_db_pkgpath(), _alpm_local_db_remove(), _alpm_log(), _alpm_runscriptlet(), ALPM_EVENT_REMOVE_DONE, ALPM_EVENT_REMOVE_START, ALPM_LOG_DEBUG, ALPM_LOG_ERROR, alpm_pkg_has_scriptlet(), ALPM_TRANS_FLAG_DBONLY, ALPM_TRANS_FLAG_NOSCRIPTLET, __alpm_handle_t::db_local, EVENT, __alpm_trans_t::flags, __alpm_pkg_t::name, __alpm_handle_t::trans, and __alpm_pkg_t::version.
Referenced by _alpm_remove_packages().