Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=c2d1d6380148a94f5f838ef8afae728e8a5e558f

commit c2d1d6380148a94f5f838ef8afae728e8a5e558f
Author: Michel Hermier <[email protected]>
Date:   Fri May 3 11:43:36 2013 +0200

libpacman: Remove a usage of local 'packages' variable.

diff --git a/lib/libpacman/deps.c b/lib/libpacman/deps.c
index 37e2731..300c875 100644
--- a/lib/libpacman/deps.c
+++ b/lib/libpacman/deps.c
@@ -423,21 +423,27 @@ pmlist_t *_pacman_checkdeps(pmtrans_t *trans, unsigned 
char op, pmlist_t *packag
/* check requiredby fields */
found=0;
for(j = _pacman_pkg_getinfo(tp, PM_PKG_REQUIREDBY); j; j = j->next) {
-                               if(f_stringlist_find (packages, (char 
*)j->data) != NULL) {
+                               pmtranspkg_t *requiredtranspkg = 
__pacman_trans_get_trans_pkg (trans, (const char *)j->data);
+
+                               /* Ignore required packages to be deleted */
+                               if (requiredtranspkg != NULL &&
+                                               requiredtranspkg->type == 
PM_TRANS_TYPE_REMOVE) {
continue;
}
+
/* check if a package in trans->packages provides this package */
for (k = trans->packages; !found && k; k = k->next) {
pmsyncpkg_t *ps = k->data;
pmpkg_t *spkg = ps->pkg_new;
-                                       if(spkg && f_stringlist_find 
(_pacman_pkg_getinfo(spkg, PM_PKG_PROVIDES), pkg_name)) {
+                                       if (spkg && f_stringlist_find 
(_pacman_pkg_getinfo(spkg, PM_PKG_PROVIDES), pkg_name)) {
found=1;
}
}
+
if(!found) {
_pacman_log(PM_LOG_DEBUG, _("checkdeps: found %s which requires %s"), (char 
*)j->data, pkg_name);
miss = _pacman_depmiss_new (pkg_name, PM_DEP_TYPE_REQUIRED, PM_DEP_MOD_ANY, 
j->data, NULL);
-                                       if(!_pacman_depmiss_isin(miss, 
baddeps)) {
+                                       if (!_pacman_depmiss_isin(miss, 
baddeps)) {
baddeps = _pacman_list_add(baddeps, miss);
} else {
FREE(miss);
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to