Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r11655 - main/trunk/pym/_emerge
Date: Wed, 08 Oct 2008 03:28:04
Message-Id: E1KnPiE-0000oQ-2U@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-10-08 03:27:43 +0000 (Wed, 08 Oct 2008)
3 New Revision: 11655
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Before returning config instances from Scheduler._allocate_config(), call the
9 config.reset() method to make sure all settings from the previous package get
10 flushed out (such as PORTAGE_LOG_FILE). This fixes a case where
11 PORTAGE_LOG_FILE leaked from the previous package to the clean phase of the
12 next one, resulting in an IOError due to the path being invalid and the parent
13 directory being nonexistent.
14
15
16 Modified: main/trunk/pym/_emerge/__init__.py
17 ===================================================================
18 --- main/trunk/pym/_emerge/__init__.py 2008-10-07 20:48:17 UTC (rev 11654)
19 +++ main/trunk/pym/_emerge/__init__.py 2008-10-08 03:27:43 UTC (rev 11655)
20 @@ -9928,6 +9928,10 @@
21 temp_settings = self._config_pool[root].pop()
22 else:
23 temp_settings = portage.config(clone=self.pkgsettings[root])
24 + # Since config.setcpv() isn't guaranteed to call config.reset() due to
25 + # performance reasons, call it here to make sure all settings from the
26 + # previous package get flushed out (such as PORTAGE_LOG_FILE).
27 + temp_settings.reset()
28 return temp_settings
29
30 def _deallocate_config(self, settings):