Reapply "config: Don't directly modify FEATURES"
This reverts commit b150419d28bd7afb98404a829c639584d34efc03.
It turns out we need to keep the open coded version to avoid creating
a persistent setting.
See https://github.com/gentoo/portage/pull/1098#issuecomment-1761638611
This change just adds a sorted() so we get deterministic ordering.
Bug: https://bugs.gentoo.org/914441
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Closes: https://github.com/gentoo/portage/pull/1312
Signed-off-by: Zac Medico <zmedico@gentoo.org>
diff --git a/lib/portage/package/ebuild/config.py b/lib/portage/package/ebuild/config.py
index bafdc55..67fd1bb 100644
--- a/lib/portage/package/ebuild/config.py
+++ b/lib/portage/package/ebuild/config.py
@@ -2206,7 +2206,9 @@
# "test" is in IUSE and USE=test is masked, so execution
# of src_test() probably is not reliable. Therefore,
# temporarily disable FEATURES=test just for this package.
- self["FEATURES"] = " ".join(x for x in self.features if x != "test")
+ self["FEATURES"] = " ".join(
+ x for x in sorted(self.features) if x != "test"
+ )
# Allow _* flags from USE_EXPAND wildcards to pass through here.
use.difference_update(