diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-09-01 13:51:18 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-09-01 13:51:18 -0700 |
commit | bb3094fb926910594f26ac3cf246d9aa9f9444d9 (patch) | |
tree | 75d4f847d662b645f8846ebe092d225b1576f024 | |
parent | 9f1d501a12514c62efb8cd4afea7a68aaf9b5129 (diff) | |
download | portage-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.py | 13 | ||||
-rw-r--r-- | pym/portage/package/ebuild/doebuild.py | 9 |
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 |