Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10817 - main/trunk/pym/_emerge
Date: Fri, 27 Jun 2008 20:58:47
Message-Id: E1KCL1l-0004V3-D6@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-06-27 20:58:40 +0000 (Fri, 27 Jun 2008)
3 New Revision: 10817
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Generate and log eerror messages for any packages that need to be dropped
9 due to unsatisfied dependencies when --keep-going is enabled.
10
11
12 Modified: main/trunk/pym/_emerge/__init__.py
13 ===================================================================
14 --- main/trunk/pym/_emerge/__init__.py 2008-06-27 15:55:18 UTC (rev 10816)
15 +++ main/trunk/pym/_emerge/__init__.py 2008-06-27 20:58:40 UTC (rev 10817)
16 @@ -52,6 +52,7 @@
17 import portage.locks
18 import portage.exception
19 from portage.data import secpass
20 +from portage.elog.messages import eerror
21 from portage.util import normalize_path as normpath
22 from portage.util import writemsg
23 from portage.sets import load_default_config, SETPREFIX
24 @@ -5958,15 +5959,40 @@
25 break
26 if mergelist[0][-1] != "merge":
27 break
28 +
29 # Skip the first one because it failed to build or install.
30 + pkg_key = tuple(mergelist[0])
31 del mergelist[0]
32 + failed_pkg = None
33 + for task in self._mergelist:
34 + if task == pkg_key:
35 + failed_pkg = task
36 + break
37 + if failed_pkg is None:
38 + break
39 if not mergelist:
40 break
41 - mylist = self._calc_resume_list()
42 +
43 + mylist, dropped_tasks = self._calc_resume_list()
44 clear_caches(self.trees)
45 if not mylist:
46 break
47 - self.curval += 1
48 +
49 + if dropped_tasks:
50 +
51 + def _eerror(lines):
52 + for l in lines:
53 + eerror(l, phase="other", key=failed_pkg.cpv)
54 +
55 + msg = []
56 + msg.append("One or more packages have been " + \
57 + "dropped due to unsatisfied dependencies:")
58 + msg.append("")
59 + msg.extend(" " + str(task) for task in dropped_tasks)
60 + msg.append("")
61 + _eerror(msg)
62 + del _eerror, msg
63 + del dropped_tasks
64 self._mergelist = mylist
65
66 return rval
67 @@ -5994,20 +6020,12 @@
68
69 if not success:
70 mydepgraph.display_problems()
71 - return None
72 + return (None, None)
73
74 - if dropped_tasks:
75 - portage.writemsg("!!! One or more packages have been " + \
76 - "dropped due to\n" + \
77 - "!!! masking or unsatisfied dependencies:\n\n",
78 - noiselevel=-1)
79 - for task in dropped_tasks:
80 - portage.writemsg(" " + str(task) + "\n", noiselevel=-1)
81 - portage.writemsg("\n", noiselevel=-1)
82 -
83 mylist = mydepgraph.altlist()
84 mydepgraph.break_refs(mylist)
85 - return mylist
86 + mydepgraph.break_refs(dropped_tasks)
87 + return (mylist, dropped_tasks)
88
89 def _poll_child_processes(self):
90 """
91
92 --
93 gentoo-commits@l.g.o mailing list