diff options
author | Felix Bier <Felix.Bier@rohde-schwarz.com> | 2020-10-14 13:38:21 +0000 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2020-10-14 10:47:48 -0700 |
commit | 5d01bda685236a8543da3a8136a4fe809f6fd9ae (patch) | |
tree | 0cbb98bb31ce269b8cf5d28066ae6413a376489c | |
parent | catalyst: Fix typo (diff) | |
download | catalyst-5d01bda685236a8543da3a8136a4fe809f6fd9ae.tar.gz catalyst-5d01bda685236a8543da3a8136a4fe809f6fd9ae.tar.bz2 catalyst-5d01bda685236a8543da3a8136a4fe809f6fd9ae.zip |
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@gentoo.org>
-rw-r--r-- | catalyst/base/stagebase.py | 3 |
1 files changed, 2 insertions, 1 deletions
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"] = [] |