if(!alpm_depcmp(oldpkg, depend)) {
continue;
}
+ missdepstring = alpm_dep_get_string(depend);
+
/* OK, we don't want to break this depend */
/* 1. for efficiency we check newpkg first if we are in the upgrade list */
@@ -670,7 +672,6 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
if(!sync) {
continue;
}
- found = alpm_depcmp(sync, missdep);
found = alpm_depcmp(sync, missdep) && !_alpm_pkg_find(alpm_pkg_get_name(sync), remove);
if(!found) {
continue;
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index f6fa318..5e58400 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -670,7 +670,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
if(deps) {
pm_errno = PM_ERR_UNSATISFIED_DEPS;
ret = -1;
- FREELIST(deps);
+ *data = deps;
goto cleanup;
}
}
--
1.5.3.6
_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
11-26-2007, 06:20 PM
Nagy Gabor
Minor fixes in sync.c and deps.c.
> * data wasn't set to the missing dependencies in sync_prepare
Hmm. I remember that I didn't really know what to do here. alpm_sync_prepare
should automagically resolve dependencies. So "usually" this should be an empty
list (I mean alpm_resolvedeps should report the error or this should be an empty
list). If this is not an empty list, the error message may say nothing, because
this is a "manipulated" upgrade and remove list, what's more this may be misleading.
The same holds for alpm_resolvedeps errors:
User does a "pacman -S foo" and get something like "cannot satisfy bar
dependency of baz"... This is not very informative...
But I can admit, that this is probably better than nothing.
----------------------------------------------------
SZTE Egyetemi Könyvtár - http://www.bibl.u-szeged.hu
This mail sent through IMP: http://horde.org/imp/
_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev