Bug #261670 - Automatically revert the CHOST metadata to the initial value
authorZac Medico <zmedico@gentoo.org>
Thu, 12 Mar 2009 18:45:35 +0000 (18:45 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 12 Mar 2009 18:45:35 +0000 (18:45 -0000)
after src_install, in case the ebuild has changed it. (trunk r13088)

svn path=/main/branches/2.1.6/; revision=13092

pym/_emerge/__init__.py
pym/portage/__init__.py

index 6b0f54e4986e0bbd391fda7e8b81f161b39f1ce3..50d6b7cd2b05b6139484555c3a4cb6fd7dbba4a4 100644 (file)
@@ -3170,6 +3170,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)
index a657a19beaba9ef0f337b200bf5d74e59e28dcbc..cc87dcf4d997fe51d782de315368103f5fa2870d 100644 (file)
@@ -4714,6 +4714,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 \
@@ -4864,6 +4865,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"