deps.h File Reference

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

Include dependency graph for deps.h:

This graph shows which files directly or indirectly include this file:

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)


Function Documentation

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Parameters:
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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Mon Jan 14 23:57:06 2008 for libalpm by  doxygen 1.5.4