poldek: poldek/install3/misc.c - scoring: do not score packages ma...
mis
mis at pld-linux.org
Wed Jan 30 22:25:30 CET 2008
Author: mis Date: Wed Jan 30 21:25:30 2008 GMT
Module: poldek Tag: HEAD
---- Log message:
- scoring: do not score packages marked for removal
---- Files affected:
poldek/poldek/install3:
misc.c (1.2 -> 1.3)
---- Diffs:
================================================================
Index: poldek/poldek/install3/misc.c
diff -u poldek/poldek/install3/misc.c:1.2 poldek/poldek/install3/misc.c:1.3
--- poldek/poldek/install3/misc.c:1.2 Fri Jan 25 15:24:39 2008
+++ poldek/poldek/install3/misc.c Wed Jan 30 22:25:25 2008
@@ -210,15 +210,19 @@
pkg_cmp_name_evr(pkg, prev), same_packages_different_arch);
}
- if (i3_is_pkg_installed(ictx->ts, pkg, &cmprc) && cmprc > 0)
- scores[i] += 5; /* already installed and upgradeable - sweet */
-
+ if (i3_is_pkg_installed(ictx->ts, pkg, &cmprc) && cmprc > 0) {
+ if (!iset_has_kind_of_pkg(ictx->unset, pkg))
+ scores[i] += 5; /* already installed and upgradeable - sweet */
+ }
+
+ DBGF(" %d %d %d\n", i, scores[i], conflicts[i]);
if (pkg->cnflpkgs != NULL)
for (j = 0; j < n_array_size(pkg->cnflpkgs); j++) {
struct reqpkg *cpkg = n_array_nth(pkg->cnflpkgs, j);
if (i3_is_marked(ictx, cpkg->pkg)) {
- conflicts[i]++;
+ conflicts[i] += 1;
scores[i] -= 5;
+ DBGF_F(" %d %d %d\n", i, scores[i], conflicts[i]);
}
}
@@ -233,6 +237,7 @@
pkg_id(pkg));
scores[i] -= 10;
}
+ DBGF("%d %d %d\n", i, scores[i], conflicts[i]);
}
max_score = scores[0];
@@ -430,7 +435,7 @@
unsigned ma_flags = ictx->ma_flags | POLDEK_MA_PROMOTE_CAPEPOCH;
return pkgdb_match_req(ictx->ts->db, req, ma_flags,
- iset_packages(ictx->unset));
+ iset_packages_by_recno(ictx->unset));
}
struct pkg *i3_choose_equiv(struct poldek_ts *ts, const struct capreq *cap,
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/poldek/poldek/install3/misc.c?r1=1.2&r2=1.3&f=u
More information about the pld-cvs-commit
mailing list