diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-03-12 06:32:32 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-03-12 06:32:32 +0000 |
commit | 75f24f7aa45e9467914e71e60cf01945b146773f (patch) | |
tree | 6393a1fa15a7bc62d3e1b868bd223b7c3ca25318 | |
parent | 71d6a170338d9b24eb6d68710368d90b9c7786d8 (diff) | |
download | portage-75f24f7aa45e9467914e71e60cf01945b146773f.tar.gz portage-75f24f7aa45e9467914e71e60cf01945b146773f.tar.bz2 portage-75f24f7aa45e9467914e71e60cf01945b146773f.zip |
Bug #261670 - Automatically revert the CHOST metadata to the initial valuev2.2_rc25
after src_install, in case the ebuild has changed it.
svn path=/main/trunk/; revision=13088
-rw-r--r-- | pym/_emerge/__init__.py | 1 | ||||
-rw-r--r-- | pym/portage/__init__.py | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 3d7439d20..09c9ce6be 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -3189,6 +3189,7 @@ class EbuildPhase(CompositeTask): settings = self.settings if self.phase == "install": + portage._post_src_install_chost_fix(settings) portage._post_src_install_uid_fix(settings) post_phase_cmds = self._post_phase_cmds.get(self.phase) diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 8c2137f2c..705c1f337 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -4724,6 +4724,7 @@ def spawnebuild(mydo, actionmap, mysettings, debug, alwaysdep=0, if mydo == "install": _check_build_log(mysettings) if phase_retval == os.EX_OK: + _post_src_install_chost_fix(mysettings) phase_retval = _post_src_install_checks(mysettings) if mydo == "test" and phase_retval != os.EX_OK and \ @@ -4874,6 +4875,17 @@ def _check_build_log(mysettings, out=None): msg.extend("\t" + line for line in make_jobserver) _eqawarn(msg) +def _post_src_install_chost_fix(settings): + """ + It's possible that the ebuild has changed the + CHOST variable, so revert it to the initial + setting. + """ + chost = settings.get('CHOST') + if chost: + write_atomic(os.path.join(settings['PORTAGE_BUILDDIR'], + 'build-info', 'CHOST'), chost + '\n') + def _post_src_install_uid_fix(mysettings): """ Files in $D with user and group bits that match the "portage" |