mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
Mark various functions in deps.c static
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
5a9a570dda
commit
3bc3999bd2
@ -43,7 +43,7 @@ void _alpm_dep_free(pmdepend_t *dep)
|
||||
FREE(dep);
|
||||
}
|
||||
|
||||
pmdepmissing_t *_alpm_depmiss_new(const char *target, pmdepend_t *dep,
|
||||
static pmdepmissing_t *depmiss_new(const char *target, pmdepend_t *dep,
|
||||
const char *causingpkg)
|
||||
{
|
||||
pmdepmissing_t *miss;
|
||||
@ -67,6 +67,18 @@ void _alpm_depmiss_free(pmdepmissing_t *miss)
|
||||
FREE(miss);
|
||||
}
|
||||
|
||||
/* Does pkg1 depend on pkg2, ie. does pkg2 satisfy a dependency of pkg1? */
|
||||
static int _alpm_dep_edge(pmpkg_t *pkg1, pmpkg_t *pkg2)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
for(i = alpm_pkg_get_depends(pkg1); i; i = i->next) {
|
||||
if(_alpm_depcmp(pkg2, i->data)) {
|
||||
return(1);
|
||||
}
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
/* Convert a list of pmpkg_t * to a graph structure,
|
||||
* with a edge for each dependency.
|
||||
* Returns a list of vertices (one vertex = one package)
|
||||
@ -192,7 +204,7 @@ alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, int reverse)
|
||||
return(newtargs);
|
||||
}
|
||||
|
||||
pmpkg_t *_alpm_find_dep_satisfier(alpm_list_t *pkgs, pmdepend_t *dep)
|
||||
static pmpkg_t *find_dep_satisfier(alpm_list_t *pkgs, pmdepend_t *dep)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
|
||||
@ -214,7 +226,7 @@ pmpkg_t *_alpm_find_dep_satisfier(alpm_list_t *pkgs, pmdepend_t *dep)
|
||||
pmpkg_t SYMEXPORT *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstring)
|
||||
{
|
||||
pmdepend_t *dep = _alpm_splitdep(depstring);
|
||||
pmpkg_t *pkg = _alpm_find_dep_satisfier(pkgs, dep);
|
||||
pmpkg_t *pkg = find_dep_satisfier(pkgs, dep);
|
||||
_alpm_dep_free(dep);
|
||||
return(pkg);
|
||||
}
|
||||
@ -257,15 +269,15 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_list_t *pkglist, int reversedeps,
|
||||
pmdepend_t *depend = j->data;
|
||||
/* 1. we check the upgrade list */
|
||||
/* 2. we check database for untouched satisfying packages */
|
||||
if(!_alpm_find_dep_satisfier(upgrade, depend) &&
|
||||
!_alpm_find_dep_satisfier(dblist, depend)) {
|
||||
if(!find_dep_satisfier(upgrade, depend) &&
|
||||
!find_dep_satisfier(dblist, depend)) {
|
||||
/* Unsatisfied dependency in the upgrade list */
|
||||
pmdepmissing_t *miss;
|
||||
char *missdepstring = alpm_dep_compute_string(depend);
|
||||
_alpm_log(PM_LOG_DEBUG, "checkdeps: missing dependency '%s' for package '%s'\n",
|
||||
missdepstring, alpm_pkg_get_name(tp));
|
||||
free(missdepstring);
|
||||
miss = _alpm_depmiss_new(alpm_pkg_get_name(tp), depend, NULL);
|
||||
miss = depmiss_new(alpm_pkg_get_name(tp), depend, NULL);
|
||||
baddeps = alpm_list_add(baddeps, miss);
|
||||
}
|
||||
}
|
||||
@ -278,19 +290,19 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_list_t *pkglist, int reversedeps,
|
||||
pmpkg_t *lp = i->data;
|
||||
for(j = alpm_pkg_get_depends(lp); j; j = j->next) {
|
||||
pmdepend_t *depend = j->data;
|
||||
pmpkg_t *causingpkg = _alpm_find_dep_satisfier(modified, depend);
|
||||
pmpkg_t *causingpkg = find_dep_satisfier(modified, depend);
|
||||
/* we won't break this depend, if it is already broken, we ignore it */
|
||||
/* 1. check upgrade list for satisfiers */
|
||||
/* 2. check dblist for satisfiers */
|
||||
if(causingpkg &&
|
||||
!_alpm_find_dep_satisfier(upgrade, depend) &&
|
||||
!_alpm_find_dep_satisfier(dblist, depend)) {
|
||||
!find_dep_satisfier(upgrade, depend) &&
|
||||
!find_dep_satisfier(dblist, depend)) {
|
||||
pmdepmissing_t *miss;
|
||||
char *missdepstring = alpm_dep_compute_string(depend);
|
||||
_alpm_log(PM_LOG_DEBUG, "checkdeps: transaction would break '%s' dependency of '%s'\n",
|
||||
missdepstring, alpm_pkg_get_name(lp));
|
||||
free(missdepstring);
|
||||
miss = _alpm_depmiss_new(lp->name, depend, alpm_pkg_get_name(causingpkg));
|
||||
miss = depmiss_new(lp->name, depend, alpm_pkg_get_name(causingpkg));
|
||||
baddeps = alpm_list_add(baddeps, miss);
|
||||
}
|
||||
}
|
||||
@ -538,7 +550,7 @@ void _alpm_recursedeps(pmdb_t *db, alpm_list_t *targs, int include_explicit)
|
||||
* an error code without prompting
|
||||
* @return the resolved package
|
||||
**/
|
||||
pmpkg_t *_alpm_resolvedep(pmdepend_t *dep, alpm_list_t *dbs,
|
||||
static pmpkg_t *resolvedep(pmdepend_t *dep, alpm_list_t *dbs,
|
||||
alpm_list_t *excluding, int prompt)
|
||||
{
|
||||
alpm_list_t *i, *j;
|
||||
@ -645,7 +657,7 @@ pmpkg_t SYMEXPORT *alpm_find_dbs_satisfier(alpm_list_t *dbs, const char *depstri
|
||||
|
||||
dep = _alpm_splitdep(depstring);
|
||||
ASSERT(dep, return(NULL));
|
||||
pkg = _alpm_resolvedep(dep, dbs, NULL, 1);
|
||||
pkg = resolvedep(dep, dbs, NULL, 1);
|
||||
_alpm_dep_free(dep);
|
||||
return(pkg);
|
||||
}
|
||||
@ -705,16 +717,16 @@ int _alpm_resolvedeps(alpm_list_t *localpkgs, alpm_list_t *dbs_sync, pmpkg_t *pk
|
||||
pmdepend_t *missdep = alpm_miss_get_dep(miss);
|
||||
/* check if one of the packages in the [*packages] list already satisfies
|
||||
* this dependency */
|
||||
if(_alpm_find_dep_satisfier(*packages, missdep)) {
|
||||
if(find_dep_satisfier(*packages, missdep)) {
|
||||
_alpm_depmiss_free(miss);
|
||||
continue;
|
||||
}
|
||||
/* check if one of the packages in the [preferred] list already satisfies
|
||||
* this dependency */
|
||||
pmpkg_t *spkg = _alpm_find_dep_satisfier(preferred, missdep);
|
||||
pmpkg_t *spkg = find_dep_satisfier(preferred, missdep);
|
||||
if(!spkg) {
|
||||
/* find a satisfier package in the given repositories */
|
||||
spkg = _alpm_resolvedep(missdep, dbs_sync, *packages, 0);
|
||||
spkg = resolvedep(missdep, dbs_sync, *packages, 0);
|
||||
}
|
||||
if(!spkg) {
|
||||
pm_errno = PM_ERR_UNSATISFIED_DEPS;
|
||||
@ -747,18 +759,6 @@ int _alpm_resolvedeps(alpm_list_t *localpkgs, alpm_list_t *dbs_sync, pmpkg_t *pk
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/* Does pkg1 depend on pkg2, ie. does pkg2 satisfy a dependency of pkg1? */
|
||||
int _alpm_dep_edge(pmpkg_t *pkg1, pmpkg_t *pkg2)
|
||||
{
|
||||
alpm_list_t *i;
|
||||
for(i = alpm_pkg_get_depends(pkg1); i; i = i->next) {
|
||||
if(_alpm_depcmp_tolerant(pkg2, i->data)) {
|
||||
return(1);
|
||||
}
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
const char SYMEXPORT *alpm_miss_get_target(const pmdepmissing_t *miss)
|
||||
{
|
||||
ALPM_LOG_FUNC;
|
||||
|
@ -44,18 +44,13 @@ struct __pmdepmissing_t {
|
||||
|
||||
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,
|
||||
const char *causinpkg);
|
||||
void _alpm_depmiss_free(pmdepmissing_t *miss);
|
||||
alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, int reverse);
|
||||
void _alpm_recursedeps(pmdb_t *db, alpm_list_t *targs, int include_explicit);
|
||||
pmpkg_t *_alpm_resolvedep(pmdepend_t *dep, alpm_list_t *dbs, alpm_list_t *excluding, int prompt);
|
||||
int _alpm_resolvedeps(alpm_list_t *localpkgs, alpm_list_t *dbs_sync, pmpkg_t *pkg,
|
||||
alpm_list_t *preferred, alpm_list_t **packages, alpm_list_t *remove,
|
||||
alpm_list_t **data);
|
||||
int _alpm_dep_edge(pmpkg_t *pkg1, pmpkg_t *pkg2);
|
||||
pmdepend_t *_alpm_splitdep(const char *depstring);
|
||||
pmpkg_t *_alpm_find_dep_satisfier(alpm_list_t *pkgs, pmdepend_t *dep);
|
||||
int _alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
|
||||
int _alpm_depcmp_tolerant(pmpkg_t *pkg, pmdepend_t *dep);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user