summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-05-01 07:29:28 +0000
committerZac Medico <zmedico@gentoo.org>2006-05-01 07:29:28 +0000
commita6245839492ccd1ac182d20f261e0e1d204ce357 (patch)
tree0889493bfaf252f2adb9288ce5628da110f37cb4
parent7af116e38e3800fd147eccf6f85436d78a7cc42c (diff)
downloadportage-a6245839492ccd1ac182d20f261e0e1d204ce357.tar.gz
portage-a6245839492ccd1ac182d20f261e0e1d204ce357.tar.bz2
portage-a6245839492ccd1ac182d20f261e0e1d204ce357.zip
Make sure that emerge really removes noauto from FEATURES for bug #131820.
svn path=/main/trunk/; revision=3292
-rwxr-xr-xbin/emerge9
-rw-r--r--pym/portage.py7
2 files changed, 13 insertions, 3 deletions
diff --git a/bin/emerge b/bin/emerge
index 87f287301..c74d949ff 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -168,8 +168,13 @@ if portage.settings.has_key("PORTAGE_NICENESS"):
portage.portdb.freeze()
# Kill noauto as it will break merges otherwise.
-while 'noauto' in portage.settings.features:
- portage.settings.features.remove('noauto')
+if "noauto" in portage.settings.features:
+ while "noauto" in portage.settings.features:
+ portage.settings.features.remove("noauto")
+ portage.settings.unlock()
+ portage.settings["FEATURES"] = " ".join(portage.settings.features)
+ portage.settings.backup_changes("FEATURES")
+ portage.settings.lock()
#number of ebuilds merged
merged=0
diff --git a/pym/portage.py b/pym/portage.py
index 972303f1f..45f3f2139 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -1287,7 +1287,12 @@ class config:
self["PORTDIR_OVERLAY"] = string.join(new_ov)
self.backup_changes("PORTDIR_OVERLAY")
- self.regenerate()
+ # XXX
+ # The below self.regenerate() causes previous changes to FEATURES (and
+ # other incrementals) to be reverted. If this instance is a clone, we
+ # need to skip regenerate() so that the copied values are preserved.
+ if clone is None:
+ self.regenerate()
self.features = portage_util.unique_array(self["FEATURES"].split())