#include "db.h"#include "sync.h"#include "package.h"#include "alpm.h"


Go to the source code of this file.
Data Structures | |
| struct | __pmdepend_t |
| struct | __pmdepmissing_t |
| struct | __pmgraph_t |
Functions | |
| void | _alpm_dep_free (pmdepend_t *dep) |
| pmdepend_t * | _alpm_dep_dup (const pmdepend_t *dep) |
| pmdepmissing_t * | _alpm_depmiss_new (const char *target, pmdepend_t *dep) |
| void | _alpm_depmiss_free (pmdepmissing_t *miss) |
| alpm_list_t * | _alpm_sortbydeps (alpm_list_t *targets, pmtranstype_t mode) |
| void | _alpm_recursedeps (pmdb_t *db, alpm_list_t *targs, int include_explicit) |
| Adds unneeded dependencies to an existing list of packages. By unneeded, we mean dependencies that are only required by packages in the target list, so they can be safely removed. If the input list was topo sorted, the output list will be topo sorted too. | |
| int | _alpm_resolvedeps (pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg, alpm_list_t **list, alpm_list_t *remove, pmtrans_t *trans, alpm_list_t **data) |
| pmdepend_t* _alpm_dep_dup | ( | const pmdepend_t * | dep | ) |
Definition at line 420 of file deps.c.
References CALLOC, __pmdepend_t::mod, __pmdepend_t::name, PM_ERR_MEMORY, RET_ERR, STRDUP, and __pmdepend_t::version.
Referenced by _alpm_depmiss_new(), and _alpm_pkg_dup().

| void _alpm_dep_free | ( | pmdepend_t * | dep | ) |
Definition at line 39 of file deps.c.
References FREE, __pmdepend_t::name, and __pmdepend_t::version.
Referenced by _alpm_depmiss_free(), and _alpm_pkg_free().

| void _alpm_depmiss_free | ( | pmdepmissing_t * | miss | ) |
Definition at line 85 of file deps.c.
References _alpm_dep_free(), __pmdepmissing_t::depend, FREE, and __pmdepmissing_t::target.
Referenced by _alpm_add_prepare(), _alpm_remove_prepare(), and _alpm_resolvedeps().


| pmdepmissing_t* _alpm_depmiss_new | ( | const char * | target, | |
| pmdepend_t * | dep | |||
| ) |
Definition at line 71 of file deps.c.
References _alpm_dep_dup(), ALPM_LOG_FUNC, __pmdepmissing_t::depend, MALLOC, PM_ERR_MEMORY, RET_ERR, STRDUP, and __pmdepmissing_t::target.
Referenced by alpm_checkdeps().


| void _alpm_recursedeps | ( | pmdb_t * | db, | |
| alpm_list_t * | targs, | |||
| int | include_explicit | |||
| ) |
Adds unneeded dependencies to an existing list of packages. By unneeded, we mean dependencies that are only required by packages in the target list, so they can be safely removed. If the input list was topo sorted, the output list will be topo sorted too.
| db | package database to do dependency tracing in | |
| *targs | pointer to a list of packages | |
| include_explicit | if 0, explicitly installed packages are not included |
Definition at line 485 of file deps.c.
References _alpm_db_get_pkgcache(), _alpm_log(), _alpm_pkg_dup(), alpm_depcmp(), alpm_list_add(), ALPM_LOG_FUNC, alpm_pkg_get_depends(), alpm_pkg_get_name(), __alpm_list_t::data, __alpm_list_t::next, and PM_LOG_DEBUG.
Referenced by _alpm_remove_prepare().


| int _alpm_resolvedeps | ( | pmdb_t * | local, | |
| alpm_list_t * | dbs_sync, | |||
| pmpkg_t * | syncpkg, | |||
| alpm_list_t ** | list, | |||
| alpm_list_t * | remove, | |||
| pmtrans_t * | trans, | |||
| alpm_list_t ** | data | |||
| ) |
Definition at line 520 of file deps.c.
References _, _alpm_db_get_pkgcache(), _alpm_db_get_pkgfromcache(), _alpm_depmiss_free(), _alpm_log(), _alpm_pkg_find(), _alpm_pkg_free(), _alpm_pkg_new(), _alpm_pkg_should_ignore(), _alpm_resolvedeps(), alpm_checkdeps(), alpm_dep_get_string(), alpm_depcmp(), alpm_list_add(), alpm_list_free(), alpm_list_free_inner(), ALPM_LOG_FUNC, alpm_miss_get_dep(), alpm_pkg_get_name(), __alpm_list_t::data, FREELIST, MALLOC, __pmpkg_t::name, __pmdepend_t::name, __alpm_list_t::next, PM_ERR_MEMORY, PM_ERR_UNSATISFIED_DEPS, pm_errno, PM_LOG_DEBUG, PM_LOG_ERROR, PM_TRANS_CONV_INSTALL_IGNOREPKG, QUESTION, and __pmdepmissing_t::target.
Referenced by _alpm_resolvedeps(), and _alpm_sync_prepare().


| alpm_list_t* _alpm_sortbydeps | ( | alpm_list_t * | targets, | |
| pmtranstype_t | mode | |||
| ) |
Definition at line 146 of file deps.c.
References _, _alpm_log(), alpm_list_add(), alpm_list_free(), alpm_list_free_inner(), alpm_list_reverse(), ALPM_LOG_FUNC, __pmgraph_t::childptr, __pmgraph_t::data, __alpm_list_t::data, __pmpkg_t::name, __alpm_list_t::next, __pmgraph_t::parent, PM_LOG_DEBUG, PM_LOG_WARNING, PM_TRANS_TYPE_REMOVE, and __pmgraph_t::state.
Referenced by _alpm_add_prepare(), _alpm_remove_prepare(), and _alpm_sync_prepare().


1.5.4