Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r13738 - main/trunk/pym/portage
Date: Mon, 29 Jun 2009 23:44:57
Message-Id: E1MLQWu-0002sS-01@stork.gentoo.org
1 Author: zmedico
2 Date: 2009-06-29 23:44:55 +0000 (Mon, 29 Jun 2009)
3 New Revision: 13738
4
5 Modified:
6 main/trunk/pym/portage/__init__.py
7 Log:
8 Use a finally blocker to ensure _expand_new_virtuals properly resets eapi
9 state when an exception is raised.
10
11
12 Modified: main/trunk/pym/portage/__init__.py
13 ===================================================================
14 --- main/trunk/pym/portage/__init__.py 2009-06-29 23:34:42 UTC (rev 13737)
15 +++ main/trunk/pym/portage/__init__.py 2009-06-29 23:44:55 UTC (rev 13738)
16 @@ -6984,15 +6984,16 @@
17 prev_eapi = mytrees.get("eapi")
18 mytrees["eapi"] = virtual_eapi
19
20 - mycheck = dep_check(depstring, mydbapi, mysettings, myroot=myroot,
21 - trees=trees, **pkg_kwargs)
22 + try:
23 + mycheck = dep_check(depstring, mydbapi, mysettings,
24 + myroot=myroot, trees=trees, **pkg_kwargs)
25 + finally:
26 + # Restore previous EAPI after recursion.
27 + if prev_eapi is not None:
28 + mytrees["eapi"] = prev_eapi
29 + else:
30 + del mytrees["eapi"]
31
32 - # Restore previous EAPI after recursion.
33 - if prev_eapi is not None:
34 - mytrees["eapi"] = prev_eapi
35 - else:
36 - del mytrees["eapi"]
37 -
38 if not mycheck[0]:
39 raise portage.exception.ParseError(
40 "%s: %s '%s'" % (y[0], mycheck[1], depstring))