1 |
commit: ae7d28b81ddc5285a210e927bec563065fda7f16 |
2 |
Author: Daniel Cordero <gentoo.catalyst <AT> 0xdc <DOT> io> |
3 |
AuthorDate: Thu Apr 21 07:08:23 2022 +0000 |
4 |
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri May 13 17:41:47 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=ae7d28b8 |
7 |
|
8 |
catalyst/stage4: fix handling of groups, users and keys |
9 |
|
10 |
Previously, the set_*() functions would always set the result of the |
11 |
toml parsing as the setting. Instead, only override it if it is a |
12 |
string. |
13 |
|
14 |
Fixes: 5be6069b ("catalyst: support 3 new options") |
15 |
Signed-off-by: Daniel Cordero <gentoo.catalyst <AT> 0xdc.io> |
16 |
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> |
17 |
|
18 |
catalyst/base/stagebase.py | 6 +++--- |
19 |
1 file changed, 3 insertions(+), 3 deletions(-) |
20 |
|
21 |
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py |
22 |
index 5c7e9adb..1d71c59d 100644 |
23 |
--- a/catalyst/base/stagebase.py |
24 |
+++ b/catalyst/base/stagebase.py |
25 |
@@ -589,9 +589,9 @@ class StageBase(TargetBase, ClearBase, GenBase): |
26 |
def set_groups(self): |
27 |
groups = self.settings["spec_prefix"] + "/groups" |
28 |
if groups in self.settings: |
29 |
+ self.settings["groups"] = self.settings[groups] |
30 |
if isinstance(self.settings[groups], str): |
31 |
self.settings["groups"] = self.settings[groups].split(",") |
32 |
- self.settings["groups"] = self.settings[groups] |
33 |
del self.settings[groups] |
34 |
else: |
35 |
self.settings["groups"] = [] |
36 |
@@ -600,9 +600,9 @@ class StageBase(TargetBase, ClearBase, GenBase): |
37 |
def set_users(self): |
38 |
users = self.settings["spec_prefix"] + "/users" |
39 |
if users in self.settings: |
40 |
+ self.settings["users"] = self.settings[users] |
41 |
if isinstance(self.settings[users], str): |
42 |
self.settings["users"] = self.settings[users].split(",") |
43 |
- self.settings["users"] = self.settings[users] |
44 |
del self.settings[users] |
45 |
else: |
46 |
self.settings["users"] = [] |
47 |
@@ -611,9 +611,9 @@ class StageBase(TargetBase, ClearBase, GenBase): |
48 |
def set_ssh_public_keys(self): |
49 |
ssh_public_keys = self.settings["spec_prefix"] + "/ssh_public_keys" |
50 |
if ssh_public_keys in self.settings: |
51 |
+ self.settings["ssh_public_keys"] = self.settings[ssh_public_keys] |
52 |
if isinstance(self.settings[ssh_public_keys], str): |
53 |
self.settings["ssh_public_keys"] = self.settings[ssh_public_keys].split(",") |
54 |
- self.settings["ssh_public_keys"] = self.settings[ssh_public_keys] |
55 |
del self.settings[ssh_public_keys] |
56 |
else: |
57 |
self.settings["ssh_public_keys"] = [] |