Gentoo Archives: gentoo-commits

From: "Fabian Groffen (grobian)" <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r14158 - main/branches/prefix/pym/_emerge
Date: Wed, 26 Aug 2009 20:31:59
Message-Id: E1MgFAj-0007bI-0F@stork.gentoo.org
1 Author: grobian
2 Date: 2009-08-26 09:52:04 +0000 (Wed, 26 Aug 2009)
3 New Revision: 14158
4
5 Modified:
6 main/branches/prefix/pym/_emerge/Scheduler.py
7 main/branches/prefix/pym/_emerge/depgraph.py
8 Log:
9 Merged from trunk -r14151:14155
10
11 | 14154 | Show log paths when displaying the list of failed packages |
12 | zmedico | for --keep-going. |
13
14 | 14155 | Inside depgraph._show_unsatisfied_dep(), show reasons for |
15 | zmedico | packages masked due to backtracking. |
16
17
18 Modified: main/branches/prefix/pym/_emerge/Scheduler.py
19 ===================================================================
20 --- main/branches/prefix/pym/_emerge/Scheduler.py 2009-08-26 09:50:07 UTC (rev 14157)
21 +++ main/branches/prefix/pym/_emerge/Scheduler.py 2009-08-26 09:52:04 UTC (rev 14158)
22 @@ -857,6 +857,7 @@
23 self._failed_pkgs_all.extend(failed_pkgs)
24 del failed_pkgs[:]
25
26 + printer = portage.output.EOutput()
27 background = self._background
28 failure_log_shown = False
29 if background and len(self._failed_pkgs_all) == 1:
30 @@ -895,7 +896,6 @@
31 self._failed_pkgs_die_msgs and \
32 not mod_echo_output:
33
34 - printer = portage.output.EOutput()
35 for mysettings, key, logentries in self._failed_pkgs_die_msgs:
36 root_msg = ""
37 if mysettings["ROOT"] != "/":
38 @@ -926,17 +926,20 @@
39 else:
40 msg = "The following package has " + \
41 "failed to build or install:"
42 - prefix = bad(" * ")
43 - writemsg(prefix + "\n", noiselevel=-1)
44 - from textwrap import wrap
45 - for line in wrap(msg, 72):
46 - writemsg("%s%s\n" % (prefix, line), noiselevel=-1)
47 - writemsg(prefix + "\n", noiselevel=-1)
48 +
49 + printer.eerror("")
50 + for line in textwrap.wrap(msg, 72):
51 + printer.eerror(line)
52 + printer.eerror("")
53 for failed_pkg in self._failed_pkgs_all:
54 - writemsg("%s\t%s\n" % (prefix,
55 - colorize("INFORM", str(failed_pkg.pkg))),
56 - noiselevel=-1)
57 - writemsg(prefix + "\n", noiselevel=-1)
58 + msg = " %s" % (colorize('INFORM', failed_pkg.pkg.__str__()),)
59 + log_path = self._locate_failure_log(failed_pkg)
60 + if log_path is not None:
61 + msg += ", Log file:"
62 + printer.eerror(msg)
63 + if log_path is not None:
64 + printer.eerror(" '%s'" % colorize('INFORM', log_path))
65 + printer.eerror("")
66
67 if self._failed_pkgs_all:
68 return 1
69
70 Modified: main/branches/prefix/pym/_emerge/depgraph.py
71 ===================================================================
72 --- main/branches/prefix/pym/_emerge/depgraph.py 2009-08-26 09:50:07 UTC (rev 14157)
73 +++ main/branches/prefix/pym/_emerge/depgraph.py 2009-08-26 09:52:04 UTC (rev 14158)
74 @@ -1891,9 +1891,8 @@
75 metadata, mreasons = get_mask_info(root_config, cpv,
76 pkgsettings, db, pkg_type, built, installed, db_keys)
77 if metadata is not None:
78 - pkg = Package(built=built, cpv=cpv,
79 - installed=installed, metadata=metadata,
80 - root_config=root_config)
81 + pkg = self._pkg(cpv, pkg_type, root_config,
82 + installed=installed)
83 if pkg.cp != atom.cp:
84 # A cpv can be returned from dbapi.match() as an
85 # old-style virtual match even in cases when the
86 @@ -1901,6 +1900,11 @@
87 # Filter out any such false matches here.
88 if not atom_set.findAtomForPackage(pkg):
89 continue
90 + if pkg in self._dynamic_config._runtime_pkg_mask:
91 + backtrack_reasons = \
92 + self._dynamic_config._runtime_pkg_mask[pkg]
93 + mreasons.append('backtracking: %s' % \
94 + ', '.join(sorted(backtrack_reasons)))
95 if mreasons:
96 masked_pkg_instances.add(pkg)
97 if atom.use: