commit: 5d01bda685236a8543da3a8136a4fe809f6fd9ae Author: Felix Bier <Felix.Bier <AT> rohde-schwarz <DOT> com> AuthorDate: Wed Oct 14 13:38:21 2020 +0000 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> CommitDate: Wed Oct 14 17:47:48 2020 +0000 URL: https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=5d01bda6
catalyst: Fix spec file USE flag parsing In stagebase, the set_use function applies .split() to the use flags passed from the spec file, if the value is a string. However, the result is immediately overwritten after the if-statement. Therefore the .split() is ineffectual. This results in self.settings["use"] holding a string, which is then regarded as a list of characters in write_make_conf. This fix ensures that the result of the split is not overwritten (matching the similar code in set_catalyst_use). For example, setting "stage4/use: abc" in a spec file results in USE="a b c ..." in the generated make.conf. With this fix, the generated make.conf contains the expected USE="abc ...". Fixes: b30dd97d ("Unify all make.conf settings and writing") Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> catalyst/base/stagebase.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py index df1cb844..2e313bd8 100644 --- a/catalyst/base/stagebase.py +++ b/catalyst/base/stagebase.py @@ -512,7 +512,8 @@ class StageBase(TargetBase, ClearBase, GenBase): if use in self.settings: if isinstance(self.settings[use], str): self.settings["use"] = self.settings[use].split() - self.settings["use"] = self.settings[use] + else: + self.settings["use"] = self.settings[use] del self.settings[use] else: self.settings["use"] = []