On Sun, Mar 27, 2022 at 04:37:10PM -0700, Matt Turner wrote: > From: Patrice Clement > > * stage4/groups: create a a list of groups. > * stage4/users: create a list of users. users can also be added to > groups using the "foo.bar=wheel,audio,baz" format. > * stage4/ssh_public_keys: copy an SSH public key into the stage4 user's home > (.ssh/authorized_keys) and set the file permission to 0644. > > Bug: https://bugs.gentoo.org/236905 > --- > catalyst/base/stagebase.py | 70 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 70 insertions(+) > > diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py > index de1e30ef..76feb5f0 100644 > --- a/catalyst/base/stagebase.py > +++ b/catalyst/base/stagebase.py > @@ -201,6 +201,9 @@ class StageBase(TargetBase, ClearBase, GenBase): > self.set_packages() > self.set_rm() > self.set_linuxrc() > + self.set_groups() > + self.set_users() > + self.set_ssh_public_keys() > self.set_busybox_config() > self.set_overlay() > self.set_repos() > @@ -583,6 +586,39 @@ class StageBase(TargetBase, ClearBase, GenBase): > self.settings[self.settings["spec_prefix"] + "/linuxrc"] > del self.settings[self.settings["spec_prefix"] + "/linuxrc"] > > + def set_groups(self): > + groups = self.settings["spec_prefix"] + "/groups" > + if groups in self.settings: > + if isinstance(self.settings[groups], str): > + self.settings["groups"] = self.settings[groups].split(",") > + self.settings["groups"] = self.settings[groups] > + del self.settings[groups] > + else: > + self.settings["groups"] = [] > + log.info('groups to create: %s' % self.settings["groups"]) > + > + def set_users(self):
Traceback (most recent call last): ... File "/catalyst/base/stagebase.py", line 600 def set_users(self): TabError: inconsistent use of tabs and spaces in indentation > + users = self.settings["spec_prefix"] + "/users" > + if users in self.settings: > + if isinstance(self.settings[users], str): > + self.settings["users"] = self.settings[users].split(",") > + self.settings["users"] = self.settings[users] > + del self.settings[users] > + else: > + self.settings["users"] = [] > + log.info('users to create: %s' % self.settings["users"]) > +