From 7f6c1a76c66fb718fad2ecce68f99ee13d18ff15 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 16 Jun 2011 11:42:10 -0500 Subject: Make pmdepend_t and pmdepmissing_t public Signed-off-by: Dan McGee --- lib/libalpm/alpm.h | 75 ++++++++++++++++++++++------------------------------ lib/libalpm/deps.c | 38 +------------------------- lib/libalpm/deps.h | 15 ----------- src/pacman/remove.c | 6 ++--- src/pacman/sync.c | 6 ++--- src/pacman/upgrade.c | 6 ++--- src/util/pactree.c | 8 +++--- src/util/testdb.c | 5 ++-- 8 files changed, 45 insertions(+), 114 deletions(-) diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 0fd6f37e..08a7a1f3 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -60,6 +60,22 @@ typedef enum _pmpkgreason_t { PM_PKG_REASON_DEPEND = 1 } pmpkgreason_t; +/** Types of version constraints in dependency specs. */ +typedef enum _pmdepmod_t { + /** No version constraint */ + PM_DEP_MOD_ANY = 1, + /** Test version equality (package=x.y.z) */ + PM_DEP_MOD_EQ, + /** Test for at least a version (package>=x.y.z) */ + PM_DEP_MOD_GE, + /** Test for at most a version (package<=x.y.z) */ + PM_DEP_MOD_LE, + /** Test for greater than some version (package>x.y.z) */ + PM_DEP_MOD_GT, + /** Test for less than some version (package=x.y.z) */ - PM_DEP_MOD_GE, - /** Test for at most a version (package<=x.y.z) */ - PM_DEP_MOD_LE, - /** Test for greater than some version (package>x.y.z) */ - PM_DEP_MOD_GT, - /** Test for less than some version (package=2.12" diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index 10c0009d..085e6ca9 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -719,7 +719,7 @@ int _alpm_resolvedeps(pmhandle_t *handle, alpm_list_t *localpkgs, pmpkg_t *pkg, for(j = deps; j; j = j->next) { pmdepmissing_t *miss = j->data; - pmdepend_t *missdep = alpm_miss_get_dep(miss); + pmdepend_t *missdep = miss->depend; /* check if one of the packages in the [*packages] list already satisfies * this dependency */ if(find_dep_satisfier(*packages, missdep)) { @@ -764,42 +764,6 @@ int _alpm_resolvedeps(pmhandle_t *handle, alpm_list_t *localpkgs, pmpkg_t *pkg, return ret; } -const char SYMEXPORT *alpm_miss_get_target(const pmdepmissing_t *miss) -{ - ASSERT(miss != NULL, return NULL); - return miss->target; -} - -const char SYMEXPORT *alpm_miss_get_causingpkg(const pmdepmissing_t *miss) -{ - ASSERT(miss != NULL, return NULL); - return miss->causingpkg; -} - -pmdepend_t SYMEXPORT *alpm_miss_get_dep(pmdepmissing_t *miss) -{ - ASSERT(miss != NULL, return NULL); - return miss->depend; -} - -pmdepmod_t SYMEXPORT alpm_dep_get_mod(const pmdepend_t *dep) -{ - ASSERT(dep != NULL, return -1); - return dep->mod; -} - -const char SYMEXPORT *alpm_dep_get_name(const pmdepend_t *dep) -{ - ASSERT(dep != NULL, return NULL); - return dep->name; -} - -const char SYMEXPORT *alpm_dep_get_version(const pmdepend_t *dep) -{ - ASSERT(dep != NULL, return NULL); - return dep->version; -} - /** Reverse of splitdep; make a dep string from a pmdepend_t struct. * The string must be freed! * @param dep the depend to turn into a string diff --git a/lib/libalpm/deps.h b/lib/libalpm/deps.h index 97c0918e..ecc3b92c 100644 --- a/lib/libalpm/deps.h +++ b/lib/libalpm/deps.h @@ -27,21 +27,6 @@ #include "package.h" #include "alpm.h" -/* Dependency */ -struct __pmdepend_t { - char *name; - char *version; - unsigned long name_hash; - pmdepmod_t mod; -}; - -/* Missing dependency */ -struct __pmdepmissing_t { - char *target; - pmdepend_t *depend; - char *causingpkg; /* this is used in case of remove dependency error only */ -}; - void _alpm_dep_free(pmdepend_t *dep); pmdepend_t *_alpm_dep_dup(const pmdepend_t *dep); void _alpm_depmiss_free(pmdepmissing_t *miss); diff --git a/src/pacman/remove.c b/src/pacman/remove.c index a4e18941..2ce33b8a 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -115,10 +115,8 @@ int pacman_remove(alpm_list_t *targets) case PM_ERR_UNSATISFIED_DEPS: for(i = data; i; i = alpm_list_next(i)) { pmdepmissing_t *miss = alpm_list_getdata(i); - pmdepend_t *dep = alpm_miss_get_dep(miss); - char *depstring = alpm_dep_compute_string(dep); - printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss), - depstring); + char *depstring = alpm_dep_compute_string(miss->depend); + printf(_(":: %s: requires %s\n"), miss->target, depstring); free(depstring); } break; diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 254117a7..177eab64 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -785,10 +785,8 @@ static int sync_trans(alpm_list_t *targets) case PM_ERR_UNSATISFIED_DEPS: for(i = data; i; i = alpm_list_next(i)) { pmdepmissing_t *miss = alpm_list_getdata(i); - pmdepend_t *dep = alpm_miss_get_dep(miss); - char *depstring = alpm_dep_compute_string(dep); - printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss), - depstring); + char *depstring = alpm_dep_compute_string(miss->depend); + printf(_(":: %s: requires %s\n"), miss->target, depstring); free(depstring); } break; diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c index 0abcbe4e..6587671b 100644 --- a/src/pacman/upgrade.c +++ b/src/pacman/upgrade.c @@ -107,14 +107,12 @@ int pacman_upgrade(alpm_list_t *targets) case PM_ERR_UNSATISFIED_DEPS: for(i = data; i; i = alpm_list_next(i)) { pmdepmissing_t *miss = alpm_list_getdata(i); - pmdepend_t *dep = alpm_miss_get_dep(miss); - char *depstring = alpm_dep_compute_string(dep); + char *depstring = alpm_dep_compute_string(miss->depend); /* TODO indicate if the error was a virtual package or not: * :: %s: requires %s, provided by %s */ - printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss), - depstring); + printf(_(":: %s: requires %s\n"), miss->target, depstring); free(depstring); } break; diff --git a/src/util/pactree.c b/src/util/pactree.c index 1dee61bf..6b29d935 100644 --- a/src/util/pactree.c +++ b/src/util/pactree.c @@ -290,7 +290,7 @@ static void walk_deps(pmpkg_t *pkg, int depth) for(i = alpm_pkg_get_depends(pkg); i; i = alpm_list_next(i)) { pmdepend_t *depend = alpm_list_getdata(i); pmpkg_t *provider = alpm_find_satisfier(alpm_db_get_pkgcache(db_local), - alpm_dep_get_name(depend)); + depend->name); if(provider) { const char *provname = alpm_pkg_get_name(provider); @@ -299,15 +299,15 @@ static void walk_deps(pmpkg_t *pkg, int depth) /* if we've already seen this package, don't print in "unique" output * and don't recurse */ if(!unique) { - print(alpm_pkg_get_name(pkg), provname, alpm_dep_get_name(depend), depth); + print(alpm_pkg_get_name(pkg), provname, depend->name, depth); } } else { - print(alpm_pkg_get_name(pkg), provname, alpm_dep_get_name(depend), depth); + print(alpm_pkg_get_name(pkg), provname, depend->name, depth); walk_deps(provider, depth + 1); } } else { /* unresolvable package */ - print(alpm_pkg_get_name(pkg), NULL, alpm_dep_get_name(depend), depth); + print(alpm_pkg_get_name(pkg), NULL, depend->name, depth); } } } diff --git a/src/util/testdb.c b/src/util/testdb.c index aeccdb7c..4937480d 100644 --- a/src/util/testdb.c +++ b/src/util/testdb.c @@ -101,9 +101,8 @@ static int checkdeps(alpm_list_t *pkglist) data = alpm_checkdeps(handle, pkglist, NULL, pkglist, 0); for(i = data; i; i = alpm_list_next(i)) { pmdepmissing_t *miss = alpm_list_getdata(i); - pmdepend_t *dep = alpm_miss_get_dep(miss); - char *depstring = alpm_dep_compute_string(dep); - printf("missing dependency for %s : %s\n", alpm_miss_get_target(miss), + char *depstring = alpm_dep_compute_string(miss->depend); + printf("missing dependency for %s : %s\n", miss->target, depstring); free(depstring); ret++; -- cgit v1.2.3-54-g00ecf