]> git.pld-linux.org Git - packages/poldek.git/blame - poldek-deps-fix.patch
- type fixes, incl. SEGV on 64-bit archs
[packages/poldek.git] / poldek-deps-fix.patch
CommitLineData
cab85d07 1--- pkgset-install.c 16 Nov 2002 00:23:22 -0000 1.82
2+++ pkgset-install.c 16 Jul 2003 10:55:04 -0000 1.82.4.1
3@@ -224,11 +224,11 @@
4
5 if (p != pkg && pkg_is_marked(p)) {
6 if (req == NULL || pkg_statisfies_req(p, req, 0)) {
7- DBGF("%s -> yes, %s\n", pkg_snprintf_s0(pkg), pkg_snprintf_s1(p));
8- return 1;
9+ DBGF("%s -> yes, %s\n", pkg_snprintf_s0(pkg), pkg_snprintf_s1(p));
10+ return 1;
11+ }
12 }
13 }
14- }
15
16 return 0;
17 }
18@@ -303,7 +303,7 @@
19 struct pkg **candidates, int npkgs,
20 struct pkgset *ps, struct upgrade_s *upg)
21 {
22- int *ncnfls, i, j, i_min, cnfl_min;
23+ int *ncnfls, i, j, i_best, cnfl_min;
24 int i_ver_eq = -1, i_evr_eq = -1;
25
26 DBGF("%s (%d)\n", pkg_snprintf_s(marker), npkgs);
27@@ -345,38 +345,44 @@
28 return i_ver_eq;
29
30 cnfl_min = INT_MAX;
31- i_min = -1;
32+ i_best = -1;
33 for (i=0; i < npkgs; i++) {
34 DBGF("%d. %s %d\n", i, pkg_snprintf_s(candidates[i]), ncnfls[i]);
35 if (cnfl_min > ncnfls[i]) {
36 cnfl_min = ncnfls[i];
37- i_min = i;
38+ i_best = i;
39 }
40 }
41
42- DBGF("[after cnfls] i_min = %d\n", i_min);
43+ DBGF("[after cnfls] i_best = %d\n", i_best);
44 if (cnfl_min == 0) {
45 int n = INT_MAX, *nmarks;
46
47 nmarks = alloca(npkgs * sizeof(*nmarks));
48
49 for (i=0; i < npkgs; i++) {
50+ if (other_version_marked(candidates[i], ps->pkgs, NULL)) {
51+ DBGF("%d. %s other version is already marked, skipped\n",
52+ i, pkg_snprintf_s(candidates[i]));
53+ continue;
54+ }
55+
56 nmarks[i] = pkg_drags(candidates[i], ps, upg);
57- DBGF("%d %s -> %d\n", i, pkg_snprintf_s(candidates[i]), nmarks[i]);
58- if (n > nmarks[i]) {
59+ DBGF("%d. %s -> %d\n", i, pkg_snprintf_s(candidates[i]), nmarks[i]);
60+ if (n > nmarks[i])
61 n = nmarks[i];
62- }
63-
64+
65 if (n == 0 && ncnfls[i] == 0) {
66- i_min = i;
67+ i_best = i;
68 break;
69 }
70 }
71 }
72
73- if (i_min == -1)
74- i_min = 0;
75- return i_min;
76+ if (i_best == -1)
77+ i_best = 0;
78+ DBGF("RET %d. %s\n", i_best, pkg_snprintf_s(candidates[i]));
79+ return i_best;
80 }
81
82 #define FINDREQ_BESTSEL 0
83@@ -1009,7 +1015,7 @@
84 capreq_snprintf(reqname, 256, req);
85 }
86
87- DBGF("req %s\n", capreq_snprintf_s(req));
88+ DBGF("%s: REQ %s\n", pkg_snprintf_s(pkg), capreq_snprintf_s(req));
89
90 if ((upg->inst->flags & INSTS_EQPKG_ASKUSER) && upg->inst->askpkg_fn)
91 tomark_candidates_ptr = &tomark_candidates;
92@@ -1022,7 +1028,8 @@
93 goto l_end_loop;
94 }
95 }
96-
97+ DBGF("%s: TOMARK %s\n", pkg_snprintf_s1(pkg),
98+ tomark ? pkg_snprintf_s0(tomark) : "NULL");
99 /* don't check foreign dependencies */
100 if (process_as == PROCESS_AS_ORPHAN) {
101 #if 0 /* buggy, TODO - unmark foreign on adding to uninst_set */
This page took 0.066509 seconds and 4 git commands to generate.