[pacman-dev] [PATCH] Dependency error/log messages fix
From 4ee4c412b7ce0a688a81b1f856ef6462c8ee269d Mon Sep 17 00:00:00 2001 From: Nagy Gabor <ngaba@bibl.u-szeged.hu> Date: Sat, 27 Oct 2007 01:14:35 +0200 Subject: [PATCH] Dependency error/log messages fix The old code used only the depend.name in messages, which might have not been informative. The new code uses the whole dependency string in %DEPENDS% format. --- lib/libalpm/deps.c | 18 +++++++++++------- lib/libalpm/sync.c | 4 +++- src/util/testdb.c | 4 +++- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index 7f4fb0b..4beaf70 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -306,7 +306,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op, if(alpm_depcmp(pkg, depend)) { _alpm_log(PM_LOG_DEBUG, "checkdeps: dependency '%s' has moved from '%s' to '%s'\n", - depend->name, alpm_pkg_get_name(oldpkg), alpm_pkg_get_name(pkg)); + k->data, alpm_pkg_get_name(oldpkg), alpm_pkg_get_name(pkg)); satisfied = 1; break; } @@ -322,7 +322,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op, /* we ignore packages that will be updated because we know * that the updated ones don't satisfy depend */ _alpm_log(PM_LOG_DEBUG, "checkdeps: dependency '%s' satisfied by installed package '%s'\n", - depend->name, alpm_pkg_get_name(pkg)); + k->data, alpm_pkg_get_name(pkg)); satisfied = 1; break; } @@ -380,7 +380,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op, /* else if still not found... */ if(!found) { _alpm_log(PM_LOG_DEBUG, "missing dependency '%s' for package '%s'\n", - depend->name, alpm_pkg_get_name(tp)); + j->data, alpm_pkg_get_name(tp)); miss = _alpm_depmiss_new(alpm_pkg_get_name(tp), PM_DEP_TYPE_DEPEND, depend->mod, depend->name, depend->version); if(!_alpm_depmiss_isin(miss, baddeps)) { @@ -426,7 +426,7 @@ alpm_list_t *_alpm_checkdeps(pmdb_t *db, pmtranstype_t op, pmpkg_t *pkg = l->data; if(alpm_depcmp(pkg, depend) && !_alpm_pkg_find(alpm_pkg_get_name(pkg), packages)) { _alpm_log(PM_LOG_DEBUG, "checkdeps: dependency '%s' satisfied by installed package '%s'\n", - depend->name, alpm_pkg_get_name(pkg)); + k->data, alpm_pkg_get_name(pkg)); satisfied = 1; break; } @@ -686,8 +686,10 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg, for(j = *list; j && !found; j = j->next) { pmpkg_t *sp = j->data; if(alpm_depcmp(sp, missdep)) { + char *missdepstring = alpm_dep_get_string(missdep); _alpm_log(PM_LOG_DEBUG, "%s satisfies dependency %s -- skipping\n", - alpm_pkg_get_name(sp), missdep->name); + alpm_pkg_get_name(sp), missdepstring); + free(missdepstring); found = 1; } } @@ -713,8 +715,10 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg, } if(!found) { - _alpm_log(PM_LOG_ERROR, _("cannot resolve dependencies for \"%s\" (\"%s\" is not in the package set)\n"), - miss->target, missdep->name); + char *missdepstring = alpm_dep_get_string(missdep); + _alpm_log(PM_LOG_ERROR, _("cannot resolve \"%s\" dependency of \"%s\"\n"), + missdepstring, miss->target); + free(missdepstring); if(data) { if((miss = malloc(sizeof(pmdepmissing_t))) == NULL) { _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes\n"), sizeof(pmdepmissing_t)); diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 3e12ffb..f4ed6dd 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -674,8 +674,10 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync pmsyncpkg_t *sp = l->data; pmpkg_t *sppkg = sp->pkg; if(alpm_depcmp(sppkg, &(miss->depend))) { + char *missdepstring = alpm_dep_get_string(&(miss->depend)); _alpm_log(PM_LOG_DEBUG, "sync: dependency '%s' satisfied by package '%s'\n", - miss->depend.name, alpm_pkg_get_name(sppkg)); + missdepstring, alpm_pkg_get_name(sppkg)); + free(missdepstring); satisfied = 1; } } diff --git a/src/util/testdb.c b/src/util/testdb.c index 1331f2c..a06456a 100644 --- a/src/util/testdb.c +++ b/src/util/testdb.c @@ -178,8 +178,10 @@ int main(int argc, char **argv) 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_get_string(dep); printf("missing dependency for %s : %s\n", alpm_miss_get_target(miss), - alpm_dep_get_name(dep)); + depstring); + free(depstring); } /* check requiredby */ -- 1.5.3.4
On 10/26/07, Nagy Gabor <ngaba@bibl.u-szeged.hu> wrote:
From 4ee4c412b7ce0a688a81b1f856ef6462c8ee269d Mon Sep 17 00:00:00 2001 From: Nagy Gabor <ngaba@bibl.u-szeged.hu> Date: Sat, 27 Oct 2007 01:14:35 +0200 Subject: [PATCH] Dependency error/log messages fix The old code used only the depend.name in messages, which might have not been informative. The new code uses the whole dependency string in %DEPENDS% format.
Awesome! Applied on my working branch. -Dan
participants (2)
-
Dan McGee
-
Nagy Gabor