summaryrefslogtreecommitdiffstats
path: root/pym/portage
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-02-14 07:46:39 -0800
committerZac Medico <zmedico@gentoo.org>2011-02-14 07:46:39 -0800
commit486dfbcba80e968457401913b4fb5943ea971b53 (patch)
treeaff07bf684fb6d9740213a456a78478975c02920 /pym/portage
parent60f55ab3ee1575c2d72870c351b7b336a4900caa (diff)
downloadportage-486dfbcba80e968457401913b4fb5943ea971b53.tar.gz
portage-486dfbcba80e968457401913b4fb5943ea971b53.tar.bz2
portage-486dfbcba80e968457401913b4fb5943ea971b53.zip
Recognize git-2.eclass when reinstalling self.
Diffstat (limited to 'pym/portage')
-rw-r--r--pym/portage/dbapi/vartree.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index e0f17544b..2e97fdbee 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -3826,11 +3826,17 @@ class dblink(object):
myroot = None
if self.vartree.dbapi._categories is not None:
self.vartree.dbapi._categories = None
+ reinstall_self = False
if self.myroot == "/" and \
- match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]) and \
- (not self.vartree.dbapi.cpv_exists(self.mycpv) or \
- '9999' in self.mycpv or \
- 'git' in self.settings.get('INHERITED', '').split()):
+ match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]):
+ inherited = frozenset(self.settings.get('INHERITED', '').split())
+ if not self.vartree.dbapi.cpv_exists(self.mycpv) or \
+ '9999' in self.mycpv or \
+ 'git' in inherited or \
+ 'git-2' in inherited:
+ reinstall_self = True
+
+ if reinstall_self:
# Load lazily referenced portage submodules into memory,
# so imports won't fail during portage upgrade/downgrade.
portage.proxy.lazyimport._preload_portage_submodules()