Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10033 - main/branches/2.1.2/bin
Date: Mon, 28 Apr 2008 22:23:36
Message-Id: E1Jqbkz-00020a-K7@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-04-28 22:23:32 +0000 (Mon, 28 Apr 2008)
3 New Revision: 10033
4
5 Modified:
6 main/branches/2.1.2/bin/emerge
7 Log:
8 Handle a potential KeyError in depgraph.display() when in --resume mode
9 and a package scheduled for uninstall is no longer installed. (trunk r10032)
10
11
12 Modified: main/branches/2.1.2/bin/emerge
13 ===================================================================
14 --- main/branches/2.1.2/bin/emerge 2008-04-28 22:22:52 UTC (rev 10032)
15 +++ main/branches/2.1.2/bin/emerge 2008-04-28 22:23:32 UTC (rev 10033)
16 @@ -4191,16 +4191,27 @@
17 else:
18 blockers.append(addl)
19 else:
20 - pkg = self._pkg_cache[tuple(x)]
21 - metadata = pkg.metadata
22 pkg_status = x[3]
23 pkg_merge = ordered and pkg_status == "merge"
24 if not pkg_merge and pkg_status == "merge":
25 pkg_status = "nomerge"
26 + built = pkg_type != "ebuild"
27 + installed = pkg_type == "installed"
28 + try:
29 + pkg = self._pkg_cache[tuple(x)]
30 + except KeyError:
31 + if pkg_status != "uninstall":
32 + raise
33 + # A package scheduled for uninstall apparently
34 + # isn't installed anymore. Since it's already
35 + # been uninstalled, move on to the next task.
36 + # This case should only be reachable in --resume
37 + # mode, since otherwise the package would have
38 + # been cached.
39 + continue
40 + metadata = pkg.metadata
41 ebuild_path = None
42 repo_name = metadata["repository"]
43 - built = pkg_type != "ebuild"
44 - installed = pkg_type == "installed"
45 if pkg_type == "ebuild":
46 ebuild_path = portdb.findname(pkg_key)
47 if not ebuild_path: # shouldn't happen
48
49 --
50 gentoo-commits@l.g.o mailing list