summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-09-01 13:51:18 -0700
committerZac Medico <zmedico@gentoo.org>2012-09-01 13:51:18 -0700
commitbb3094fb926910594f26ac3cf246d9aa9f9444d9 (patch)
tree75d4f847d662b645f8846ebe092d225b1576f024
parent9f1d501a12514c62efb8cd4afea7a68aaf9b5129 (diff)
downloadportage-bb3094fb926910594f26ac3cf246d9aa9f9444d9.tar.gz
portage-bb3094fb926910594f26ac3cf246d9aa9f9444d9.tar.bz2
portage-bb3094fb926910594f26ac3cf246d9aa9f9444d9.zip
_prepare_self_update: ignore installed version
Now portage will unconditionally make a temporary copy of itself during updates. This is safer, since it provides maximum protection against any possible incompatibilities. For example, suppose that the ebuild has been updated to change the location of installed files (such as libdir change) without a revision bump.
-rw-r--r--pym/_emerge/Scheduler.py13
-rw-r--r--pym/portage/package/ebuild/doebuild.py9
2 files changed, 6 insertions, 16 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 8ee9a5841..9f1c86e3a 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -300,15 +300,10 @@ class Scheduler(PollScheduler):
if not portage.dep.match_from_list(
portage.const.PORTAGE_PACKAGE_ATOM, [x]):
continue
- if self._running_portage is None or \
- self._running_portage.cpv != x.cpv or \
- '9999' in x.cpv or \
- 'git' in x.inherited or \
- 'git-2' in x.inherited:
- rval = _check_temp_dir(self.settings)
- if rval != os.EX_OK:
- return rval
- _prepare_self_update(self.settings)
+ rval = _check_temp_dir(self.settings)
+ if rval != os.EX_OK:
+ return rval
+ _prepare_self_update(self.settings)
break
return os.EX_OK
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py
index 4c0c45d65..9b678f7fb 100644
--- a/pym/portage/package/ebuild/doebuild.py
+++ b/pym/portage/package/ebuild/doebuild.py
@@ -2129,11 +2129,6 @@ def _handle_self_update(settings, vardb):
if settings["ROOT"] == "/" and \
portage.dep.match_from_list(
portage.const.PORTAGE_PACKAGE_ATOM, [cpv]):
- inherited = frozenset(settings.get('INHERITED', '').split())
- if not vardb.cpv_exists(cpv) or \
- '9999' in cpv or \
- 'git' in inherited or \
- 'git-2' in inherited:
- _prepare_self_update(settings)
- return True
+ _prepare_self_update(settings)
+ return True
return False