aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2020-08-08 16:51:52 -0700
committerZac Medico <zmedico@gentoo.org>2020-08-08 16:55:19 -0700
commit656f8a7fcd2014c833e42282744c70a21e6c7e31 (patch)
treed37be7099cfe2ba21566df5bf564b2c4ccdb77c0
parentBinpkgEnvExtractor: fix subprocess logfile usage (bug 711174) (diff)
downloadportage-656f8a7f.tar.gz
portage-656f8a7f.tar.bz2
portage-656f8a7f.zip
treewalk: reset config for unmerge (bug 711174)
When cloning config instances for unmerge, call the reset method in order to ensure that there is no unintended leakage of variables which should not be shared. This fixes leakage of the PORTAGE_LOG_FILE variable, which triggered log corruption for FEATURES=compress-build-logs. Bug: https://bugs.gentoo.org/711174 Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r--lib/portage/dbapi/vartree.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py
index 5799d94f2..3eee025ad 100644
--- a/lib/portage/dbapi/vartree.py
+++ b/lib/portage/dbapi/vartree.py
@@ -4013,7 +4013,9 @@ class dblink:
# since we need it to have private ${T} etc... for things
# like elog.
settings_clone = portage.config(clone=self.settings)
- settings_clone.pop("PORTAGE_BUILDDIR_LOCKED", None)
+ # This reset ensures that there is no unintended leakage
+ # of variables which should not be shared.
+ settings_clone.reset()
settings_clone.setcpv(cur_cpv, mydb=self.vartree.dbapi)
if self._preserve_libs and "preserve-libs" in \
settings_clone["PORTAGE_RESTRICT"].split():