summaryrefslogtreecommitdiffstats
path: root/pym/portage/dbapi/vartree.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-31 11:45:28 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-31 11:45:28 -0700
commit75dab994c4a3e7c38ea29cc633706c435991da05 (patch)
treeed60a2e5ef4ffa3f93f4cb82104b1ee93923bf95 /pym/portage/dbapi/vartree.py
parentcd08c946dce4f9f5466597e92ce9df3b0ff197bd (diff)
downloadportage-75dab994c4a3e7c38ea29cc633706c435991da05.tar.gz
portage-75dab994c4a3e7c38ea29cc633706c435991da05.tar.bz2
portage-75dab994c4a3e7c38ea29cc633706c435991da05.zip
When portage updates itself and the new version either inherits
git.eclass or has 9999 in its version, trigger the 'use copy of current sources for install, then restart portage' routine. This is required since with the live git portage-9999 ebuild we can't use the version to detect incompatible changes to ebuild.sh. This issue was noticed due to recent versions of ebuild.sh expecting PORTAGE_BZIP2_COMMAND to be set, causing incompatibility with installed portage-9999 instances.
Diffstat (limited to 'pym/portage/dbapi/vartree.py')
-rw-r--r--pym/portage/dbapi/vartree.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index 9c4355143..52f8d833c 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -3768,7 +3768,9 @@ class dblink(object):
self.vartree.dbapi._categories = None
if self.myroot == "/" and \
match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]) and \
- not self.vartree.dbapi.cpv_exists(self.mycpv):
+ (not self.vartree.dbapi.cpv_exists(self.mycpv) or \
+ '9999' in self.mycpv or \
+ 'git' in self.settings.get('INHERITED', '').split()):
# Load lazily referenced portage submodules into memory,
# so imports won't fail during portage upgrade/downgrade.
portage.proxy.lazyimport._preload_portage_submodules()